0

我想在第二个分隔符 (~) 之后以 MMDDYYYY 格式将系统日期添加到特定目录中的所有 excel 文件中。它基本上是文件的重命名。

例子-

原名——

Canada_report~D~.xls

预期输出-

Canada_report~D~05312013.xls

我们可以如下设置日期,MMDDYYY但不确定如何将其附加到~特定目录中可用的所有 excel 文件(在第二个分隔符之后)

for /f "tokens=1-5 delims=/ " %%d in ("%date%") do set THEDATE=%%e%%f%%

请建议。

4

1 回答 1

0

这应该重命名当前文件夹中的所有 *.xls 文件,将 d8 变量添加到 .xls 扩展名之前的位置。

您可以考虑使用 YYYYMMDD 格式,该格式在文件夹中正确排序,因此是首选日期格式。使用 Wmic 以可靠且可靠的方式获取日期非常容易。

这是一种使用 WMIC 设置 d8 变量(XP Pro 和更高版本)的方法 - 它也可以用于 MMDDYYYY 格式。

更改F:\FOLDER为您的路径。首先在示例文件夹上对其进行测试。

:: timestamp YYYYMMDD
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set d8=%dt:~0,8%
pushd "F:\FOLDER"
for /f "delims=" %%a in (' dir *.xls /b /a-d ') do ren "%%a" "%%~na%d8%%%~xa"
popd
pause

要获取 MMDDYYYY 格式,请更改此行

设置 d8=%dt:~0,8%

设置 d8=%dt:~4,2%%dt:~6,2%%dt:~0,4%

于 2013-05-31T05:02:31.250 回答