Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理复制最近的文件时出错_Batch File - Fatal编程技术网

Batch file 使用批处理复制最近的文件时出错

Batch file 使用批处理复制最近的文件时出错,batch-file,Batch File,我是批处理文件流程的新手,我根据这篇文章创建了一个脚本来复制我最近的文件 @回音 setLocal DisableDelayedExpansion pushd H:\ setLocal EnableDelayedExpansion 对于/f“tokens=*delims=“%%G in('dir/b/od')do(设置最新=%%G) 复制%H:\archive\testFile.txt 流行音乐 我使用一个小文件成功地进行了测试,但当我转到生产环境时,我收到了以下错误:系统无法找到指定的文件。

我是批处理文件流程的新手,我根据这篇文章创建了一个脚本来复制我最近的文件

@回音

setLocal DisableDelayedExpansion

pushd H:\

setLocal EnableDelayedExpansion

对于/f“tokens=*delims=“%%G in('dir/b/od')do(设置最新=%%G)

复制%H:\archive\testFile.txt

流行音乐

我使用一个小文件成功地进行了测试,但当我转到生产环境时,我收到了以下错误:
系统无法找到指定的文件。


这个脚本对文件大小有限制吗?测试的大小差异为1kb,产品的大小差异为6.5mb。除了测试文件的内部内容之外,这是我能想到的唯一差异

不,大小不是问题。文件在磁盘中,您所做的就是复制它。可能没有空间,您无法复制文件,但这里的情况并非如此

问题可能是文件名中有空格和缺少引号

@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

如果您将
('dir/b/od')
更改为
('dir/b/od/a-d')
,该怎么办?@npocmaka没有什么新的内容。我在prod文件中有一些空格。我删除了它们,原来的脚本运行良好。谢谢