找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15455|回复: 8

[文本处理] 【已解决】根据选择复制文件的批处理SET-A-P有偿求助

[复制链接]
发表于 2021-12-13 19:37:13 | 显示全部楼层 |阅读模式
本帖最后由 hztccy 于 2024-2-22 22:38 编辑

看到一个大佬的批处理段落感觉不错,就拿来用了,但是又一个问题处理不了

先看源码

  1. @echo off
  2. color 02
  3. :主界面
  4. cls
  5. echo.
  6. echo --------------------------------------
  7. echo  1、目录1
  8. echo --------------------------------------
  9. echo  2、目录2
  10. echo --------------------------------------
  11. echo  3、目录3
  12. echo --------------------------------------
  13. echo.
  14. choice /c 123 /n /m "?请选择对应功能"
  15. if %errorlevel% EQU 1 echo 目录1&goto :目录1
  16. if %errorlevel% EQU 2 echo 目录2&goto :目录2
  17. if %errorlevel% EQU 3 echo 目录3&goto :目录3

  18. rem -------------------------------------------------------------------------------------------------------------
  19. rem -------------------------------------------------------------------------------------------------------------

  20. :目录1
  21. cls
  22. setlocal enabledelayedexpansion
  23. set 序号=1
  24. for /f "delims=" %%i in ('dir /b "NAS网盘路径"') do (
  25. set 文件[!序号!]=%%~nxi
  26. echo -----------------------------
  27. echo  ^>^>^>(!序号!)%%i
  28. set /a 序号+=1)
  29. echo -----------------------------
  30. echo.
  31. set /p 选择=-输入序号:
  32. robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
  33. cls
  34. set 序号=1
  35. for /f "delims=" %%i in ('dir /b "C:\123"') do (
  36. set 文件[!序号!]=%%~nxi
  37. echo -----------------------------
  38. echo  ^>^>^>(!序号!)%%i
  39. set /a 序号+=1)
  40. echo -----------------------------
  41. start /wait "" "C:\123\!文件[%选择%]!"
  42. rd /s /q "C:\123"
  43. goto :主界面
  44. exit

  45. rem -------------------------------------------------------------------------------------------------------------
  46. rem -------------------------------------------------------------------------------------------------------------

  47. :目录2
  48. cls
  49. setlocal enabledelayedexpansion
  50. set 序号=1
  51. for /f "delims=" %%i in ('dir /b "NAS网盘路径"') do (
  52. set 文件[!序号!]=%%~nxi
  53. echo -----------------------------
  54. echo  ^>^>^>(!序号!)%%i
  55. set /a 序号+=1)
  56. echo -----------------------------
  57. echo.
  58. set /p 选择=-输入序号:
  59. robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
  60. cls
  61. set 序号=1
  62. for /f "delims=" %%i in ('dir /b "C:\123"') do (
  63. set 文件[!序号!]=%%~nxi
  64. echo -----------------------------
  65. echo  ^>^>^>(!序号!)%%i
  66. set /a 序号+=1)
  67. echo -----------------------------
  68. start /wait "" "C:\123\!文件[%选择%]!"
  69. rd /s /q "C:\123"
  70. goto :主界面
  71. exit

  72. rem -------------------------------------------------------------------------------------------------------------
  73. rem -------------------------------------------------------------------------------------------------------------

  74. :目录3
  75. cls
  76. setlocal enabledelayedexpansion
  77. set 序号=1
  78. for /f "delims=" %%i in ('dir /b "NAS网盘路径"') do (
  79. set 文件[!序号!]=%%~nxi
  80. echo -----------------------------
  81. echo  ^>^>^>(!序号!)%%i
  82. set /a 序号+=1)
  83. echo -----------------------------
  84. echo.
  85. set /p 选择=-输入序号:
  86. robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
  87. cls
  88. set 序号=1
  89. for /f "delims=" %%i in ('dir /b "C:\123"') do (
  90. set 文件[!序号!]=%%~nxi
  91. echo -----------------------------
  92. echo  ^>^>^>(!序号!)%%i
  93. set /a 序号+=1)
  94. echo -----------------------------
  95. start /wait "" "C:\123\!文件[%选择%]!"
  96. rd /s /q "C:\123"
  97. goto :主界面
  98. exit
复制代码
源码里面的SET /P如果不小心按到回车键会复制全部,有什么方法可以让其只有回车键没有选择时,返回到选择界面而不复制全部吗?


  1. set /p 选择=-输入序号:
  2. robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS

复制代码
源码里面的SET /P如果不小心按到回车键会复制全部,有什么方法可以让其只有回车键没有选择时,返回到选择界面而不复制全部吗?

来高手呀
发表于 2021-12-13 19:43:39 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"=="" robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
发表于 2021-12-13 19:43:45 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"=="" robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
发表于 2021-12-13 19:43:46 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"=="" robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS
发表于 2021-12-13 19:45:15 | 显示全部楼层
妈的,网一卡,发了3次,
发表于 2021-12-13 19:56:31 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS)else goto 主界面

不知道可以不
 楼主| 发表于 2021-12-13 20:20:32 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PUR ...
Fit 发表于 2021-12-13 19:56



兄弟可以是勉强可以了。然后又出新问题了。后面的start启动那里,不会因为是空目录就不执行了。。正在思考中。。另外发个二维码,我说了有偿,就不会让你白跑
 楼主| 发表于 2021-12-13 20:25:54 | 显示全部楼层
set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PUR ...
Fit 发表于 2021-12-13 19:56



    差点忘记了还可以使用else搞定了。谢了兄弟。到时私信我。感激不尽
发表于 2021-12-13 21:39:20 | 显示全部楼层
我都没帮啥忙,这次就算了,下次有偿的发到有偿求助论坛吧!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 08:46 , Processed in 0.020216 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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