概述Windows批处理命令中的目录的通配符
我需要使用batch file将文件夹的内容复制到另一个文件夹中 – 我面临的问题是父文件夹中的一个将每天更改,以今天的date命名。 所以,例如,我有以下命令:
xcopy /Y /S \”\\auto-jenkinsBuilds2017R1\\[0822]EN\\*.*\” \”C:UsersadministratorDesktopEN\”
今天工作正常,不幸的是明天[0822]将不存在,我需要的文件将在[0823]之下。 有谁知道我可以用通配符代替[0822]吗?
如果有帮助, [08**]文件夹将是R1下面的唯一文件夹…
batch file,通配符在folderpath中,不知道通配符是什么
*。* in argv in C
与通配符rm显示我taskset帮助输出
windows删除与通配符不正常删除
为什么我的pipe道中的一个*在Perl中不能在windows上打开?
Python中的Unix文件名通配符?
使用通配符排除具有特定后缀的文件
用Python中的通配符移动文件
在tox命令中使用通配符
双星号通配符是什么意思?
由于R1目录中只有一个文件夹,因此可以使用for /D来获取其名称:
for /D %%D in (\”\\auto-jenkinsBuilds2017R1*\”) do ( xcopy /Y /S \”%%~DEN*.*\” \”C:UsersadministratorDesktopEN\” )
*是全球通配符,代表任意数量的任意字符。 而不是它,你也可以使用[????]所以你的文件夹名称必须包含[]之间的正好四个字符。
有谁知道我可以用通配符代替[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-jenkinsBuilds2017R1[%_month%%_day%]EN*.*\” \”C:UsersadministratorDesktopEN\” endlocal
进一步阅读
windows CMD命令行的AZ索引 – 与windows cmd行有关的所有东西的极好参考。
for / f – 循环命令针对另一个命令的结果。
wmic – windows管理规范命令。
您可以使用特定于国家/地区的自动日期变量%date :
xcopy /Y /S \”auto-jenkinsBuilds2017R1[%date:~3,2%%date:~0,2%]EN*.*\” \”C:UsersadministratorDesktopEN\”
这里,从日期字符串中提取月份和日期。 第一个数字是开始位置(从0开始),下一个数字是长度。
总结
以上是内存溢出为你收集整理的Windows批处理命令中的目录的通配符全部内容,希望文章能够帮你解决Windows批处理命令中的目录的通配符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容