使用批处理复制最新文件时出错

时间:2014-09-04 19:31:41

标签: batch-file

我是批处理文件进程的新手,我按照这篇文章创建了一个复制我最新文件的脚本。

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。除了测试文件的内部内容,这是我能想到的唯一区别。

1 个答案:

答案 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