1 頁 (共 1 頁)

批次檔及命令列模式技巧

文章發表於 : 2008年 8月 15日, 22:04
super
一般 DOS 指令
請執行 help 命令查看。

運算子
指令 說明
dir > test.txt 將 dir 輸出的資料存檔為 test.txt,如果已存在就覆蓋。
dir >> test.txt 將 dir 輸出的資料附加到檔案 test.txt,如果沒有就建立之。
myApp1.exe | myApp2.exe 將 myApp1.exe 輸出的資料傳給 myApp2.exe 執行。

輸入輸出
指令 說明
@echo off 隱藏命令列輸出。
REM 哇咧圈圈叉叉 註解
subst x: c:\myCup\ 將指定路徑 ( c:\myCup\ ) 虛擬成磁碟機 ( x: )。
執行 subst x: /d 即可刪除指定磁碟機

流程
指令 說明
if 條件處理:請執行 help if 查看功能。

: POINT_01 超連結位置,宣告一個可使用 goto 指令將流程導引過來的點。
goto POINT_01 程式執行至此就跳到表示為 : POINT_01 的位置繼續執行。

網路連線
指令 說明
ftp -s:get_log.txt 進入 FTP 模式,使用命令檔 get_log.txt。
命令檔的第 1 行需為:open 主機位址 埠號,
命令檔的第 2 行需為登入帳號,
命令檔的第 3 行需為登入密碼,
第 4 行之後就可以撰寫 FTP 命令,如下:
命令 功能
binary 切換為二進位模式
get LogFile.rar 抓取 LogFile.rar 檔
bye 退出 ftp 模式

net use Z: \\192.168.12.34\c$ myPassword /USER:myDoamin\Administrator 建立網路磁碟機,詳細使用說明請執行 net use /? 查看。
net use Z: /delete 中斷網路磁碟機。
net send xx.xx.xx.xx This is a message 將訊息傳到 xx.xx.xx.xx,但該機器需為 Windows 且開著 Messenger Service ( 信差服務 )。
xx.xx.xx.xx 可以換成連到同一個網域的使用者名稱,或「/users」代表所有使用者。
如果訊息中含有「/」符號,請將訊息用雙引號「"」包起來。
netsh -c interface dump > netConfig.txt 將網路組態匯出到 netConfig.txt 檔。
netsh -f netConfig.txt 將網路組態檔 netConfig.txt 匯入系統 ( 會直接改變系統的網路組態喔!)。
ipconfig | find "IP Address" 只顯示本機 IP 位址。

使用變數
指令 說明
SET 變數名稱=字串 將字串存入變數,不需使用引號「"」或「'」。

%變數名稱% 取出變數的值。

系統
指令 說明
shutdown -s -t 180 -c "自動關機囉!" 180 秒後自動關機,並在自動關機倒數視窗中顯示「自動關機囉!」字樣。
將 -s 換成 -r 則改為重新啟動,換成 -l 則為登出。
如果加上 -f 的話將會在登出前強制關閉執行中的應用程式,不顯示警告。
如果加上 -m \\電腦名稱 的話,可以搖控別台電腦關機。
shutdown -a 立即停止關機、重開機或登出倒數。
net time /setsntp:time.stdtime.gov.tw
w32tm /resync 指定時間伺服器,並將本機電腦跟它同步。

小技巧
指令 說明
echo DEBUG: Errorlevel=%ERRORLEVEL% 顯示錯誤等級代碼,這是隨時都存在的系統變數,加在其他指令的下一行,可以偵測該指令執行的狀況。