无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2893|回复: 10
打印 上一主题 下一主题

[已解决] for命令中怎样处理带空格的目录名

[复制链接]
跳转到指定楼层
1#
发表于 2023-11-28 19:26:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 xiao75918 于 2023-11-29 07:51 编辑

批处理中目录名称CorelDRAW Graphics Suite X7被分成了3段,%%i路径不完整,复制不了文件,而单独用if一条条去查找复制却可以。
for命令处应该如何修改?

@echo off
set "filev5=TRW_DesignWizard_v5Pro.gms"
set "path1=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite X7\Draw\GMS"
set "path2=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite X8\Draw\GMS"
set "path3=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2017\Draw\GMS"
set "path4=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2018\Draw\GMS"
set "path5=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2019\Draw\GMS"
set "path6=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2020\Draw\GMS"
set "path7=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2021\Draw\GMS"
set "path8=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics Suite 2022\Draw\GMS"
set "path9=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite X7\Draw\GMS"
set "path10=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite X8\Draw\GMS"
set "path11=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2017\Draw\GMS"
set "path12=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2018\Draw\GMS"
set "path13=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2019\Draw\GMS"
set "path14=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2020\Draw\GMS"
set "path15=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2021\Draw\GMS"
set "path16=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical Suite 2022\Draw\GMS"
set "allPaths=%path1% %path2% %path3% %path4% %path5% %path6% %path7% %path8% %path9% %path10% %path11% %path12% %path13% %path14% %path15% %path16%"

for %%i in (%allPaths%) do (
    if exist "%%i\%filev5%" (
        xcopy /E /I /Y "%cd%\tools\TRW\%filev5%" "%%i\"
    )
)

pause >nul
exit /b


用下面命令可以复制文件。
if exist "%path1%\%filev5%" xcopy /e /i /y "%cd%\tools\TRW\%filev5%" "%path1%\"
if exist "%path2%\%filev5%" xcopy /e /i /y "%cd%\tools\TRW\%filev5%" "%path2%\"
if exist "%path3%\%filev5%" xcopy /e /i /y "%cd%\tools\TRW\%filev5%" "%path3%\"
if exist "%path4%\%filev5%" xcopy /e /i /y "%cd%\tools\TRW\%filev5%" "%path4%\"

已解决,用双引号而不用双%号。
@echo off
set "filev5=TRW_DesignWizard_v5Pro.gms"
set "path1=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics"
set "path2=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical"
for %%i in ("Suite X7" "Suite X8" "Suite 2017" "Suite 2018" "Suite 2019" "Suite 2020" "Suite 2021" "Suite 2022") do (
    if exist "%path1% %%~i\Draw\GMS\%filev5%" xcopy /E /I /Y "%cd%\tools\TRW\%filev5%" "%path1% %%~i\Draw\GMS"
    if exist "%path2% %%~i\Draw\GMS\%filev5%" xcopy /E /I /Y "%cd%\tools\TRW\%filev5%" "%path2% %%~i\Draw\GMS"
)

echo 文件复制完成按任意键关闭退出
pause >nul
exit /b



11#
发表于 2024-2-12 07:18:57 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
发表于 2024-2-10 10:33:23 来自手机 | 只看该作者
挺好
回复

使用道具 举报

9#
发表于 2024-2-8 20:07:32 | 只看该作者
恭喜恭喜问题解决
回复

使用道具 举报

8#
发表于 2024-2-6 18:03:27 | 只看该作者
学习学习
回复

使用道具 举报

7#
发表于 2023-12-6 11:26:35 | 只看该作者
恭喜恭喜问题解决
回复

使用道具 举报

6#
发表于 2023-12-6 11:20:43 | 只看该作者
很不错 学习学习了
回复

使用道具 举报

5#
 楼主| 发表于 2023-11-29 07:50:27 | 只看该作者
已解决,不用双%号,而用双引号
@echo off
set "filev5=TRW_DesignWizard_v5Pro.gms"
set "path1=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Graphics"
set "path2=%USERPROFILE%\AppData\Roaming\Corel\CorelDRAW Technical"
for %%i in ("Suite X7" "Suite X8" "Suite 2017" "Suite 2018" "Suite 2019" "Suite 2020" "Suite 2021" "Suite 2022") do (
    if exist "%path1% %%~i\Draw\GMS\%filev5%" xcopy /E /I /Y "%cd%\tools\TRW\%filev5%" "%path1% %%~i\Draw\GMS"
    if exist "%path2% %%~i\Draw\GMS\%filev5%" xcopy /E /I /Y "%cd%\tools\TRW\%filev5%" "%path2% %%~i\Draw\GMS"
)

echo 文件复制完成按任意键关闭退出
pause >nul
exit /b
回复

使用道具 举报

4#
发表于 2023-11-28 19:55:21 | 只看该作者
学习学习
回复

使用道具 举报

3#
发表于 2023-11-28 19:53:20 来自手机 | 只看该作者
感觉x7前面不需要set在path里
回复

使用道具 举报

2#
发表于 2023-11-28 19:49:12 来自手机 | 只看该作者
共同部分太多了,提取出来最后处理
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 13:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表