
求助批處理中執行del/q/f命令語句后不再執行后續命令是什么原因最后由 pcl_test 于 -7-5 13:38各位前輩好,本人菜鳥一名, 喜歡搗鼓,根據在網上的資料, 寫了如下一段代碼,功能 已經 達到, 但在這 過程中有一個疑問, 被 它折磨了很久, 后面突然靈機一動, 一個&就解決了,就是:del /q/f命令執行后,后面的命令 不能 連續執行,需用&連接才行, 但 后面 兩條del又不需要,想知道 是 為什么,請各位解惑,謝謝.
- @echo off
- title 文件移動/復制功能
- rem 根據ROBOCOPY 參數不同,功能不同,當前功能為將當前目錄下的所有文件復制至指定并刪除當前目錄的所有文件
- rem by 1145846856
- set pa=H:files
- copy 移動目錄下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f delims= %%a in ('dir/ad/b') do rd /s/q %%~a
- del /q/f * & copy %temp%移動目錄下的文件.bat %~dp0
- del /q/f %pa%移動目錄下的文件.bat
- del /q/f %temp%移動目錄下的文件.bat
- ping 127.0.0.1 -n 6 >%temp%null
- del %temp%null
nclick="copycode($('code0'));">復制代碼
下面是改進版,本來想直接在if 語句里給變量賦值, 就可以省很多代碼,但是 值傳不出來,不知何解
- cho off
- title 文件移動/復制功能
- rem 根據ROBOCOPY 參數不同,功能不同,當前功能為將當前目錄下的所有文件復制至指定并刪除當前目錄的所有文件
- rem by 1145846856
- set pa=H:files
- echo.
- echo.
- @set /p inpa=當前默認目標目錄是:%pa%,如需修改請直接輸入按回車,不更改直接回車
- if %inpa% == (
- goto 1
- )else (goto 2
- )
- :1
- copy 移動目錄下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f delims= %%a in ('dir/ad/b') do rd /s/q %%~a
- del /q/f * & copy %temp%移動目錄下的文件.bat %~dp0
- del /q/f %pa%移動目錄下的文件.bat
- del /q/f %temp%移動目錄下的文件.bat
- ping 127.0.0.1 -n 3 >%temp%null
- del %temp%null
- exit
- :2
- set pa=%inpa%
- copy 移動目錄下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f delims= %%a in ('dir/ad/b') do rd /s/q %%~a
- del /q/f * & copy %temp%移動目錄下的文件.bat %~dp0
- del /q/f %pa%移動目錄下的文件.bat
- del /q/f %temp%移動目錄下的文件.bat
- ping 127.0.0.1 -n 3 >%temp%null
- del %temp%null
- exit
nclick="copycode($('code1'));">復制代碼