今天,我需要一些帮助的批处理文件,比较文件夹。
我正在工作一个虚拟的windows 10机器,如果这是需要知道的。
根据我存储文件的位置,比较可以正常工作(例如,如果我将它存储在Z:\Projektdaten中)
如果我把它存储在我的虚拟桌面上,它会比较未知的东西“。
然后,我会得到一个错误,比如“系统找不到文件”,因为经常有很多文件位于那里。
这是我的档案:
@echo off
SETLOCAL
::---------------------------------------------------------------------------------
REM --- Dokumente Variablen setzen ---
Set localdrive=Z:\Projektdaten\parts\electrical\
Set remotedrive=G:\Projectdata\parts\electrical\
CALL :Compare %localdrive%, %remotedrive%, "amplifiers_controllers\general"
pause
EXIT
:Compare
Set localfolder=%~1%~3
Set remotefolder=%~2%~3
if not exist "%localfolder%\" mkdir "%localfolder%\
if not exist "%remotefolder%\" mkdir "%remotefolder%\
echo COPY TO SERVER: %localfolder%
cd %localfolder% & for %%i in (*.*) do if not exist %remotefolder%"\%%i" copy %localfolder%"\%%i" %remotefolder%"\%%i"
echo COPY TO LOCAL: %remotefolder%
cd %remotefolder% & for %%i in (*.*) do if not exist %localfolder%"\%%i" copy %remotefolder%"\%%i" %localfolder%"\%%i"发布于 2022-01-03 16:06:08
@Compo,我希望这是你喜欢的方式?抱歉,我只想让别人帮我解决问题。这里的规则与其他平台有些不同。对此很抱歉!
解决办法:
::Setting up the vars , using the parameters
Set localfolder="%~1%~3"
Set remotefolder="%~2%~3"
::Creating missing folders
if not exist %localfolder%\ mkdir %localfolder%\
if not exist %remotefolder%\ mkdir %remotefolder%\
echo COPY TO SERVER: %localfolder%
cd /d %localfolder% && for %%i in (*.*) do if not exist %remotefolder%\%%i copy "%%i" %remotefolder%
echo COPY TO LOCAL: %remotefolder%
cd /d %remotefolder% && for %%i in (*.*) do if not exist %localfolder%\%%i copy "%%i" %localfolder%https://stackoverflow.com/questions/68920149
复制相似问题