2013-05-31 61 views
0

我想在第二個分隔符(〜)之後以MMDDYYYY格式將系統日期添加到特定目錄中的所有excel文件中。這將基本上是文件的重命名。添加日期到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%% 

請建議。

回答

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%

+0

你能告訴我什麼是錯誤的運行下面的命令在cmd中爲/ f「tokens = 1-5 delims = /」%d in(「 ('Canada_report〜D〜.xls/b/ad')do echo ren「%a」「%%〜/%」%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NA%THEDATE %% %〜xa「 – user1268559

+0

有幾個問題。您正在混合命令行和批處理%字符。您正在迴應THEDATE而不是設置變量。嘗試我給你的批處理文件,這不是破壞性的。 – foxidrive

+0

重命名不起作用存儲在我的M:\ Test1路徑下面的腳本中的文件.. @echo off set d8 = 20130531 for/f「delims =」%% a in('M:\ Test1 * .xls/b/ad')do ren「%% a」「%%〜na%d8 %%%〜xa」 – user1268559