我需要使用批处理文件将一个文件夹的内容复制到另一个文件夹 - 我面临的问题是其中一个父文件夹每天都会更改,并以今天的日期命名。例如,我有以下命令:
xcopy /Y /S "\\auto-jenkins\Builds\2017\R1\\[0822]\EN\\*.*" "C:\Users\Administrator\Desktop\EN"
今天工作正常,不幸的是明天[0822]
将不存在,我需要的文件将位于[0823]
下。有谁知道我可以使用通配符代替 [0822]
的方法吗?
如果有帮助的话,[08**]
文件夹将是 \R1
下唯一的文件夹...
最佳答案
有谁知道我可以使用通配符代替 [0822] 的方法吗?
您不需要通配符。请改用当前日期(以正确的格式)。使用以下批处理文件。
CopyFiles.cmd:
@echo off
setlocal
rem get the date
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1,2" %%g in (`wmic Path Win32_LocalTime Get Day^,Month ^| findstr /r /v "^$"`) do (
set _day=00%%g
set _month=00%%h
)
rem pad day and month with leading zeros
set _month=%_month:~-2%
set _day=%_day:~-2%
xcopy /Y /S "\auto-jenkins\Builds\2017\R1[%_month%%_day%]\EN*.*" "C:\Users\Administrator\Desktop\EN"
endlocal
进一步阅读
- An A-Z Index of the Windows CMD command line - 与 Windows 命令行相关的所有内容的绝佳引用。
- for /f - 针对另一个命令的结果循环命令。
- wmic - Windows 管理规范命令。
关于windows - Windows 批处理命令中目录的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102859/