我有一個bat文件,它執行以下操作。.bat文件xcopy文件僅基於具有時間戳的文件名
xcopy c:\folder\*.* d:\another_folder\.
del *.xml
del *.lst
生成的文件在其名稱中加入時間戳:
MY_FILE_11111_08-23-2016_111111.xml
格式爲MM-DD-YYYY_HHMMSS
_
後的日期時間開始
如何編寫bat命令,該命令僅在文件名具有今天的日期時纔會複製?
我有一個bat文件,它執行以下操作。.bat文件xcopy文件僅基於具有時間戳的文件名
xcopy c:\folder\*.* d:\another_folder\.
del *.xml
del *.lst
生成的文件在其名稱中加入時間戳:
MY_FILE_11111_08-23-2016_111111.xml
格式爲MM-DD-YYYY_HHMMSS
_
後的日期時間開始
如何編寫bat命令,該命令僅在文件名具有今天的日期時纔會複製?
有預定義的環境變量DATE
它保存當前的本地日期格式由Windows區域設置定義。在命令提示窗口運行線
echo %DATE%
在輸出的情況下是08/23/2016
(MM/DD/YYYY)只是各斜線必須在字符串中由連字符被替換爲wOxxOm與一襯墊命令已經建議線。
set "FileDate=%DATE:/=-%"
%SystemRoot%\System32\xcopy.exe "C:\Folder\*%FileDate%*" "D:\Another_Folder\"
但是,如果輸出例如Tue, 23/08/2016
(與平日),或只是23/08/2016
(沒有平日),這將是這兩個日期格式的例子當前日期字符串,必須重新格式化:
set "FileDate=%DATE:~-7,2%-%DATE:~-10,2%-%DATE:~-4%"
%SystemRoot%\System32\xcopy.exe "C:\Folder\*%FileDate%*" "D:\Another_Folder\"
怎樣的角色在命令SET的幫助下解釋了替換(第一種方法)分別串聯的特定子串(第二種方法)的工作,可以通過打開命令提示符窗口並運行set /?
或help set
來讀取它。
如果只是一個單一的文件必須被複制,這是最可能足夠使用Windows命令處理器,而不是標準的Windows控制檯應用程序(外部命令)xcopy.exe
的內部命令COPY。在命令提示符窗口copy /?
和xcopy /?
中運行以顯示這兩個複製命令的幫助信息。
根據您的系統日期格式,它可以這麼簡單:'xcopy c:\ folder \ *%date:/ = - %* d:\ another_folder \ .' – wOxxOm
您到目前爲止嘗試過什麼?請分享你的努力!文件名中的日期/時間格式是否符合'date/T'和'time/T'命令返回的格式? – aschipfl