我希望创建一个bat文件,将dir命令中的本地文件夹与服务器上的文件夹进行比较,然后删除服务器上不存在的本地文件夹。此外,它存在包含空格的目录问题,但我还没有考虑过这个问题。
我当前的代码无法正常运行。有人可以提供一些指导吗?
代码:
{{1}}
答案 0 :(得分:1)
我使用以下内容比较不同文件夹中的文件,并从第一个文件夹中删除第二个文件夹中不存在的文件。通过一些调整,你可以使用与文件夹类似的东西而不是文件。这基于FC,您必须提供两个绝对路径:
echo off
set "Folder1=path\to\Folder1"
set "Folder2=path\to\Folder2"
for /f "delims=" %%F in ('dir /b "%folder2%"') do (
if not exist "%folder1%\%%F" (
fc /b "%folder1%\%%F" "%folder2%\%%F"
if "%errorlevel%" EQU "1" (
del "%folder1%\%%F" && echo Deleted "%%F"
)
) else (
del "%folder1%\%%F" && echo Deleted "%%F"
)
)
pause
Exit
答案 1 :(得分:0)
您应该查看robocopy
命令。我认为robocopy _source_ _target_ /purge
完全符合您的要求。