
【已解決】根據選擇復制文件的批處理SETAP有償求助最后由 hztccy 于 -2-22 22:38看到一個大佬的批處理段落感覺不錯,就拿來用了,但是又一個問題處理不了先看源碼
源碼里面的SET /P如果不小心按到回車鍵會復制全部,有什么方法可以讓其只有回車鍵沒有選擇時,返回到選擇界面而不復制全部嗎?nclick="copycode($('code0'));">復制代碼
- @echo off
- color 02
- :主界面
- cls
- echo.
- echo --------------------------------------
- echo1、目錄1
- echo --------------------------------------
- echo2、目錄2
- echo --------------------------------------
- echo3、目錄3
- echo --------------------------------------
- echo.
- choice /c 123 /n /m 請選擇對應功能
- if %errorlevel% EQU 1 echo 目錄1&goto :目錄1
- if %errorlevel% EQU 2 echo 目錄2&goto :目錄2
- if %errorlevel% EQU 3 echo 目錄3&goto :目錄3
- rem -------------------------------------------------------------------------------------------------------------
- rem -------------------------------------------------------------------------------------------------------------
- :目錄1
- cls
- setlocal enabledelayedexpansion
- set 序號=1
- for /f delims= %%i in ('dir /b NAS網盤路徑') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- echo.
- set /p 選擇=-輸入序號:
- robocopy NAS網盤路徑 C:123 !文件[%選擇%]! /PURGE /IS
- cls
- set 序號=1
- for /f delims= %%i in ('dir /b C:123') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- start /wait C:123!文件[%選擇%]!
- rd /s /q C:123
- goto :主界面
- exit
- rem -------------------------------------------------------------------------------------------------------------
- rem -------------------------------------------------------------------------------------------------------------
- :目錄2
- cls
- setlocal enabledelayedexpansion
- set 序號=1
- for /f delims= %%i in ('dir /b NAS網盤路徑') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- echo.
- set /p 選擇=-輸入序號:
- robocopy NAS網盤路徑 C:123 !文件[%選擇%]! /PURGE /IS
- cls
- set 序號=1
- for /f delims= %%i in ('dir /b C:123') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- start /wait C:123!文件[%選擇%]!
- rd /s /q C:123
- goto :主界面
- exit
- rem -------------------------------------------------------------------------------------------------------------
- rem -------------------------------------------------------------------------------------------------------------
- :目錄3
- cls
- setlocal enabledelayedexpansion
- set 序號=1
- for /f delims= %%i in ('dir /b NAS網盤路徑') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- echo.
- set /p 選擇=-輸入序號:
- robocopy NAS網盤路徑 C:123 !文件[%選擇%]! /PURGE /IS
- cls
- set 序號=1
- for /f delims= %%i in ('dir /b C:123') do (
- set 文件[!序號!]=%%~nxi
- echo -----------------------------
- echo^>^>^>(!序號!)%%i
- set /a 序號+=1)
- echo -----------------------------
- start /wait C:123!文件[%選擇%]!
- rd /s /q C:123
- goto :主界面
- exit
源碼里面的SET /P如果不小心按到回車鍵會復制全部,有什么方法可以讓其只有回車鍵沒有選擇時,返回到選擇界面而不復制全部嗎?來高手呀nclick="copycode($('code1'));">復制代碼
- set /p 選擇=-輸入序號:
- robocopy NAS網盤路徑 C:123 !文件[%選擇%]! /PURGE /IS

