windows - Windows 批处理命令中目录的通配符

标签 windows batch-file wildcard

我需要使用批处理文件将一个文件夹的内容复制到另一个文件夹 - 我面临的问题是其中一个父文件夹每天都会更改,并以今天的日期命名。例如,我有以下命令:

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

进一步阅读

关于windows - Windows 批处理命令中目录的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102859/

相关文章:

windows - Spark 2.0 : Relative path in absolute URI (spark-warehouse)

windows - PostMessage() 消息在 Windows 中是否按顺序显示?

python - 从特定字符串开始读取python中的文件

创建具有挑战性的终端菜单

batch-file - 防止批处理命令的输出

list - 过滤我自己类型的列表 - 元组?

windows - 对文件夹中的所有文件执行命令

windows - 批处理文件 (windows cmd.exe) 测试目录是否为链接 (symlink)

windows - 使用多行发出单个命令

java - 可以在 java 程序中运行 java 类吗?