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
For loop 批处理文件-移动重复文件_For Loop_Batch File - Fatal编程技术网

For loop 批处理文件-移动重复文件

For loop 批处理文件-移动重复文件,for-loop,batch-file,For Loop,Batch File,我对批处理文件中的for循环感到头痛 基本上,我是通过一个归档文件夹进行搜索,以查看文件是否已被处理。如果是,则将文件移动到“副本”文件夹。我在脚本中设置了上面的日期变量,它们工作正常: for %%f in (%toLoadLocation%\*.*) DO ( if exist %archiveLocation%\%%~nxf ( IF NOT EXIST "%archiveLocation%\Duplicates" mkdir "%archiveLocation%\Duplicate

我对批处理文件中的for循环感到头痛

基本上,我是通过一个归档文件夹进行搜索,以查看文件是否已被处理。如果是,则将文件移动到“副本”文件夹。我在脚本中设置了上面的日期变量,它们工作正常:

 for %%f in (%toLoadLocation%\*.*) DO (
 if exist %archiveLocation%\%%~nxf (
 IF NOT EXIST "%archiveLocation%\Duplicates" mkdir "%archiveLocation%\Duplicates"
 IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%" mkdir "%archiveLocation%\Duplicates\%localYYYY%"
 IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%\%localMM%" mkdir "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
 copy %%f "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
 echo %localDate% %localTime%       Duplicate claims file: %%f File moved to archive     >> "%logLocation%\Error.log"
 )
我在做什么蠢事吗?我没有收到任何错误,当运行此脚本时,脚本只是爆炸了(我在这前后都有一个暂停命令,希望捕获一条消息,但什么也没有)

任何帮助都将不胜感激


谢谢大家

您应该在这两行上使用引号:

if exist "%archiveLocation%\%%~nxf" (

试试这个:

for %%f in ("%toLoadLocation%\*.*") DO if exist "%archiveLocation%\%%~nxf" (
    IF NOT EXIST "%archiveLocation%\Duplicates" mkdir "%archiveLocation%\Duplicates"
    IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%" mkdir "%archiveLocation%\Duplicates\%localYYYY%"
    IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%\%localMM%" mkdir "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
    copy "%%~f" "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
    echo %localDate% %localTime%        Duplicate claims file: %%f File moved to archive     >> "%logLocation%\Error.log"
)

我仍然对每件事都引用名言。我没有误用括号吧?没关系,我错过了一个课外结束括号-谢谢!
for %%f in ("%toLoadLocation%\*.*") DO if exist "%archiveLocation%\%%~nxf" (
    IF NOT EXIST "%archiveLocation%\Duplicates" mkdir "%archiveLocation%\Duplicates"
    IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%" mkdir "%archiveLocation%\Duplicates\%localYYYY%"
    IF NOT EXIST "%archiveLocation%\Duplicates\%localYYYY%\%localMM%" mkdir "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
    copy "%%~f" "%archiveLocation%\Duplicates\%localYYYY%\%localMM%"
    echo %localDate% %localTime%        Duplicate claims file: %%f File moved to archive     >> "%logLocation%\Error.log"
)