我有一个 Windows 批处理文件,正在运行该文件以将特定文件移动到子文件夹中。
@ECHO OFF
ECHO Start Copy
setlocal enabledelayedexpansion
set SOURCE_DIR=C:\Users\paul.ikeda\Support\SNDataDemo91\SolidCAD\Inventor_in
set DEST_DIR=C:\Users\paul.ikeda\Support\SNDataDemo91\SolidCAD\Inventor_in\Files to Import
set FILENAMES_TO_COPY=SN_Router_1.ipt SN_Router_2.ipt SN_Router_3.ipt
for /R "%SOURCE_DIR%" %%F IN (%FILENAMES_TO_COPY%) do (
if exist "%%F" (
set FILE_DIR=%%~dpF
set FILE_INTERMEDIATE_DIR=!FILE_DIR:%SOURCE_DIR%=!
echo file "%%F"
xcopy /Y "%%F" "%DEST_DIR%!FILE_INTERMEDIATE_DIR!"
)
)
ECHO.
pause
这是将我的 3 个所需文件复制到子文件夹中,但随后它会继续进行并在子文件夹中创建一个子文件夹,再次将 3 个文件复制到该子文件夹中,并且重复与原始源文件夹中的文件一样多的文件。我只想将 3 个文件复制到目标文件夹并停在那里。
有人能发现问题吗?我不知道足够的批处理代码来正确调试它。
如果您只想复制文件,那么这可能适合您:
@ECHO OFF
ECHO Start Copy
set "SOURCE_DIR=C:\Users\paul.ikeda\Support\SNDataDemo91\SolidCAD\Inventor_in"
set "DEST_DIR=C:\Users\paul.ikeda\Support\SNDataDemo91\SolidCAD\Inventor_in\Files to Import"
set "FILENAMES_TO_COPY=SN_Router_1.ipt SN_Router_2.ipt SN_Router_3.ipt"
pushd "%SOURCE_DIR%"
for %%F IN (%FILENAMES_TO_COPY%) do (
echo file "%%F"
xcopy /Y "%%F" "%DEST_DIR%\"
)
popd
ECHO. done
pause
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)