我有一个bat文件执行以下操作。
window["Ctrls"]["Base"]["DBController"]["Grid"];
生成的文件名称中包含时间戳:
MY_FILE_11111_08-23-2016_111111.xml
日期时间从第三个window.Ctrls.Base.DBController.Grid
格式化为object.property
object["property"]
如何编写一个bat命令,只有在文件名具有今天的日期时才会复制?
答案 0 :(得分:0)
有预定义的环境变量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 的帮助下解释字符替换(第一种方法)如何分别连接特定子串(第二种方法),可以通过打开命令提示符窗口并运行{{1或者set /?
。
如果只复制一个文件,则很可能使用Windows命令处理器的内部命令 COPY 而不是Windows标准控制台应用程序(外部命令)help set
。在命令提示符窗口xcopy.exe
和copy /?
中运行,以显示这两个复制命令的帮助。