Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Windows 复制FOR循环工作,但不断给出错误“;无法将文件复制到其自身";_Windows_Batch File_For Loop_Copy - Fatal编程技术网

Windows 复制FOR循环工作,但不断给出错误“;无法将文件复制到其自身";

Windows 复制FOR循环工作,但不断给出错误“;无法将文件复制到其自身";,windows,batch-file,for-loop,copy,Windows,Batch File,For Loop,Copy,因此,当我使用dirs%userprofile%\Desktop\Out和%userprofile%\Desktop\Out\test进行复制时,.txt会被复制过来,但是我得到错误文件无法复制到自身。 当我使用%userprofile%\Desktop\Out和%userprofile%\Desktop\New Folder运行脚本时,它运行平稳 所以我的问题是,当您从一个公共根文件夹复制到另一个子文件夹时,为什么脚本会变得混乱 @ECHO ON FOR /r "%userprofile%\D

因此,当我使用dirs
%userprofile%\Desktop\Out
%userprofile%\Desktop\Out\test
进行复制时,
.txt
会被复制过来,但是我得到错误
文件无法复制到自身。

当我使用
%userprofile%\Desktop\Out
%userprofile%\Desktop\New Folder
运行脚本时,它运行平稳

所以我的问题是,当您从一个公共根文件夹复制到另一个子文件夹时,为什么脚本会变得混乱

@ECHO ON
FOR /r "%userprofile%\Desktop\Out" %%a IN (*.txt) DO copy "%%a" "%userprofile%\Desktop\New Folder"
pause

目标目录
%userprofile%\Desktop\Out\test
是源目录的子目录,而
%userprofile%\Desktop\New Folder
不是


由于您正在为/r使用
,因此在递归发生时,复制的文件将从较低的目录复制—从目标目录复制到目标目录。因此,文件将被复制到自身上。

%userprofile%\Desktop\Out\test
中已有
.txt
文件时,就会发生这种情况,这些文件由
为/R“%userprofile%\Desktop\Out”
枚举。。。