[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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如果不小心按到回车键会复制全部,有什么方法可以让其只有回车键没有选择时,返回到选择界面而不复制全部吗?

来高手呀

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

TOP

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

TOP

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

TOP

妈的,网一卡,发了3次,
Fit Strong

TOP

set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PURGE /IS)else goto 主界面

不知道可以不
Fit Strong

TOP

set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PUR ...
Fit 发表于 2021-12-13 19:56



兄弟可以是勉强可以了。然后又出新问题了。后面的start启动那里,不会因为是空目录就不执行了。。正在思考中。。另外发个二维码,我说了有偿,就不会让你白跑

TOP

set /p 选择=-输入序号:
if not "%选择%"==""  (robocopy "NAS网盘路径" "C:\123" "!文件[%选择%]!" /PUR ...
Fit 发表于 2021-12-13 19:56



    差点忘记了还可以使用else搞定了。谢了兄弟。到时私信我。感激不尽

TOP

我都没帮啥忙,这次就算了,下次有偿的发到有偿求助论坛吧!!!!!
Fit Strong

TOP

返回列表