請教DOS命令中判斷語句的用法,就是判斷bat中前一行執行成功後在執行下一行,失敗則執行另一行,或不執行

時間 2021-07-08 22:32:33

1樓:己聞楣

沒有自動選不覆蓋的簡單機制,一般採用只拷貝不存在檔案的思路,批處理如下:

@echo off

setlocal

set /a errcount=0

pushd f:\

for %%f in (*.bak) do (rem 判斷y:沒有這個檔案時,才進行拷貝,無需回答是否覆蓋的問題if not exist y:%%f copy %%f y:

rem 遞增發生錯誤的次數,一般來說不會出錯,但如果y:空間不足,或者f:某個檔案被其它程式獨佔開啟而禁止訪問時會發生

if errorlevel 1 set /a errcount+=1)rem 判斷是否沒有錯誤發生過,沒有的話,才刪除f:的有關檔案if %errcount% equ 0 del *.bak /qpopd

endlocal

2樓:匿名使用者

copy f:\*.bak y:

if %errorlevel%==0 del f:\*.bak else 執行失敗時的語句

del f:\*.bak

批處理bat中如何等待第一個程式執行後執行下一行程式

3樓:匿名使用者

start /wait 程式一.exe

start 程式二.exe

4樓:匿名使用者

@echo off

notepad.exe

calc.exe

直接寫入你的程式,第一個不結束關閉,第二個是不會執行的。你可以試試。這是記事本跟記算器。

關於批處理中命令執行的順序,是一個命令結束後才執行下一命令,還是第一個命令未完,就開始下一個命令?

5樓:匿名使用者

第一種說法對

命令1執行完成後命令2才開始執行。

你可以用下面這兩個命令測試一下

notepad

pause

如果不關閉前一條命令開啟的記事本,就不執行後面一條命令pause如果你想要第2中效果,即命令1沒執行完命令2就開始執行,可以在命令1前面加start ,測試命令如下,比對一下與前面有何區別

start notepad

pause

6樓:技能幹貨

批處理是單程序任務的,也就是按你寫的**順序一條一條順序執行下去,第一條命令執行完成後就執行第二條.

如何用bat逐行讀取txt檔案裡面的內容,然後根據內容執行下一個命令 5

7樓:匿名使用者

@echo off

for /f "delims=" %%i in (xx.txt) do (

set "a=%%i"

xcopy "x:\project_movie\hero\fromclient\source\hero_2to3_0705\ca003\%a%" "x:\project_movie\hero\shots\%a%\source\%a%"

)注:在copyxx.txt文字中,若有多個檔名,則應一個佔一行。

8樓:夜光行者

需要開啟延遲變抄量,另外由於本人電腦缺失xcopy不確定是否可以自動建立不存在的資料夾,以下是**:

@echo off

setlocal enabledelayedexpansion

set /p "txt_file_name=你的書本文件字首名:"

for /f "delims=" %%l in (%txt_file_name%.txt) do (

set path=%%l

if not exist "x:\project_movie\hero\shots\!path!

\source" mkdir "x:\project_movie\hero\shots\!path!

\source"

xcopy "x:\project_movie\hero\fromclient\source\hero_2to3_0705\ca003\!path!

" "x:\project_movie\hero\shots\!path!

\source\!path!")

sql中的if判斷語句應該怎麼寫

select 欄位1,欄位2 form tab1 where unyo ymd case datefrom datefrom else dateto end or unyo ymd case datefrom datefrom else dateto end 如果這種還是不行,就定義個 dfsa 的...

dos 中 if 的用法

感覺很亂,帶標籤的行要放在行首,並且不要放在if後的括號裡,琢磨了一下你 的用意,幫你重寫一個供參考 echo off acls set p a 請輸入檔名 不帶字尾名 if a goto a if not exist c documents and settings all users 桌面 a ...

dos命令中的set問題

第一類直接賦值 set變數名 所賦的值 例子 echo offset var 所賦的值 echo var pause 說明 set 命令 var 變數名 所賦的值 就是給變數的值 第二類set p變數名 輸入的值 用引用把var變數名用兩個 百分號 擴起來,如 var 這種set語法只能直接在bat...