首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么批处理文件中的文件夹没有正确解释?

为什么批处理文件中的文件夹没有正确解释?
EN

Stack Overflow用户
提问于 2021-08-25 09:17:55
回答 1查看 43关注 0票数 0

今天,我需要一些帮助的批处理文件,比较文件夹。

我正在工作一个虚拟的windows 10机器,如果这是需要知道的。

根据我存储文件的位置,比较可以正常工作(例如,如果我将它存储在Z:\Projektdaten中)

如果我把它存储在我的虚拟桌面上,它会比较未知的东西“。

然后,我会得到一个错误,比如“系统找不到文件”,因为经常有很多文件位于那里。

这是我的档案:

代码语言:javascript
复制
@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"
EN

回答 1

Stack Overflow用户

发布于 2022-01-03 16:06:08

@Compo,我希望这是你喜欢的方式?抱歉,我只想让别人帮我解决问题。这里的规则与其他平台有些不同。对此很抱歉!

解决办法:

代码语言:javascript
复制
::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%
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68920149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档