我是批处理文件进程的新手,我按照这篇文章创建了一个复制我最新文件的脚本。
How to code a batch file to copy and rename the most recently dated file?
@echo off
setLocal DisableDelayedExpansion
推H:\
setLocal EnableDelayedExpansion
for / f“tokens = * delims =”%% G in('dir / b / od')do(set newest = %% G)
复制%最新%H:\ archive \ testFile.txt
POPD
我成功测试了一个小文件但是当我转到制作时我收到了这个错误:The system cannot find the file specified.
此脚本对文件大小有限制吗?测试的尺寸差异为1kb,prod的尺寸差异为6.5mb。除了测试文件的内部内容,这是我能想到的唯一区别。
答案 0 :(得分:0)
不,尺寸不是问题。该文件位于磁盘中,您所做的就是复制它。也许没有空间,你无法复制文件,但这不是这里的情况。
问题可能是文件名中的空格和一些缺少的引号。
@echo off
setLocal enableextensions disabledelayedexpansion
set "newest="
for /f "delims=" %%G in ('dir /b /a-d /od "H:\"') do set "newest=%%~fG"
if defined newest copy "%newest%" "H:\archive\testFile.txt" /y