我正在尝试将几个文件夹中的所有文件复制到同一目录中的一个文件夹中。 我创建了一个批处理文件,其中包含
MD PATCHCON
for /R %cd% %%f in (*.*) do copy %%f %cd%\PATCHCON
pause
如果我把它放在桌面上,它会成功运行;如果我在目录中运行相同的代码则无法正常工作。
此代码还会将我的批处理文件复制到合并文件夹<patchcon>
中,因此我还想添加一个不会复制批处理文件的代码行。
答案 0 :(得分:1)
您有几个问题可能没有实现。
首先,在名称或路径中包含space
或&
的文件夹或文件中,它会失败。
另一个问题是,它会尝试两次复制PATCHCON
文件夹中的某些文件。
这应解决这些问题,并从文件夹中删除批处理文件。
@echo off
MD "..\PATCHCON"
for /R "%cd%" %%f in (*) do copy "%%f" "..\PATCHCON" >nul
del "..\PATCHCON" "%~nx0"
move "..\PATCHCON" . >nul
echo done.
pause