批处理文件的目的是遍历一个目录,将所有修改日期在 x 和 y 之间的文件移动到临时目录(位于存档文件夹中),从临时目录创建一个 .zip,然后最后删除临时目录.
我正在从一批中调用一批。初始批次使用 pushd 检索网络路径,但是当调用下一个批次并使用 forfiles 将文件移动到存档中时,会引发 UNC 路径错误。“错误:不支持 UNC 路径 (\machine\share)。”
这两个 .bat 文件位于共享网络中的同一目录中。
我已经阅读了这个类似问题的其他答案,但没有一个答案能解决我的问题。
第一个批处理文件:
@echo off
setlocal EnableExtensions
cls
@pushd %~dp0
:firststep
........
code....
........
echo Calling...
CALL ArchiveTool.bat %MM% %yyyy% \\riskview\EBSArchive
echo Press any key to process next directory...
pause >nul
到这里一切正常。
失败的批次:
@echo off
setlocal EnableExtensions
.......
Code...
.......
md %3\Archive\%1-%2
forfiles /P %3 /D +%1/1/%2 /C "cmd /c if /I @FDATE LSS %mm%/1/%2 move @file
%3\Archive\%1-%2 >NUL & echo|set /p=."
目录已成功创建,但 forfiles 失败。