Windows命令行參數的知識(一)


最近沒事的時候,准備研究一下Windows命令行參數的知識,因為每次自己在操作電腦時總是效率太慢,如果能夠了解Windows參數的一些知識,絕對能提高效率!

基本外部命令和內部命令

首先是基本的知識,一般Windows命令包含內部命令和外部命令,其中外部命令比較多,外部命令一般在%SystemRoot%\System32里面,我的電腦%SystemRoot%=C:\Windows,估計別人的也差不多。還有一個比較常用的路徑%UserProfile%=C:\User\Administrator(或者你自己命名的用戶,默認是Administrator),這個路徑代表你現在使用的用戶路徑。 
內部命令比較少,這里可以羅列出來:

命令名 描述
assoc 顯示或者修改當前的文件擴展關聯
break 設置調試中斷
call 在一個腳本內調用程序或者其他腳本
cd(chdir) 顯示當前目錄名或者改變當前目錄位置
cls 清理命令窗口並清除屏幕緩存區
color 設置命令shell窗口的文本與背景顏色
copy 將文件從一個位置復制到另一個位置,或者將多個文件連接在一起
date 顯示或者設置系統時間
del(erase) 刪除指定文件、多個文件或目錄
dir 顯示當前目錄或者指定目錄中的子目錄與文件列表
dpath 允許程序打開指定目錄中的數據文件(就像在當前目錄中一樣)
echo 顯示命令行的文本字符串,設置命令回顯狀態(on|off)
endlocal 變量局部化結束
exit 退出命令shell
for 對一組文件中的每個文件運行指定的命令
ftype 顯示當前文件類型或者修改文件類型(文件擴展關聯中使用)
goto 將命令解釋器直接跳轉到批處理腳本中某個標記行
if 命令的條件執行
md(makedir) 在當前目錄或者指定目錄下創建子目錄
mklink 為文件或者目錄創建符合連接或者硬連接
move 將一個或者多個文件從當前目錄或者指定源目錄移動到指定的目標目錄,也可以用於對目錄進行重命名
path 顯示或者設置操作系統用於搜索可執行文件與腳本的命令路徑
pause 暫停批處理程序,並顯示以下消息: 請按任意鍵繼續…
popd 彈出由pushd保存的目錄,使其成為當前目錄
pushd 保存當前目錄位置,之后跳轉到指定的目錄(可選)
prompt 為命令提示符設置文本
rd(rmdir) 移除目錄(也可以移除其子目錄)
rem 在批處理腳本或者Config.sys中設置標記
ren(rename) 對一個或者多個文件進行重命名
set 顯示當前環境變量,或者為當前命令shell設置臨時變量
setlocal 在批處理腳本中標記變量局部化的開始
shift 改變批處理腳本中可替換變量的位置
start 啟動一個單獨的窗口,以便運行指定的程序或者命令
time 顯示或者設置系統時間
title 設置命令shell窗口的標題
type 顯示文本文件的內容
verify 在將文件寫入磁盤后,指令操作系統對其進行驗證
vol 顯示磁盤卷標與序列號

以上就是內部命令,而外部命令太多了,這里就不再羅列,以后用到的時候慢慢記錄。 
首先學習的第一個外部命令是setx,這個命令和內部命令set很像,區別是這個命令可以永久的更改用戶環境變量,而set是臨時改變,比如我想增加一個 

C:\script 
文件夾到path里面,就可以使用: 
setx Path "%Path;C:\script"或者setx Path "C:\script;%Path" 
兩者的區別是搜索先后順序不同罷了。

管理文件擴展與文件關聯

通過使用文件擴展,在命令行只需要輸入命令名就可以執行命令,有兩種類型的文件擴展: 
- 可執行文件的文件擴展。可執行文件是使用環境變量%PATHEXT%進行設置的,可以輸入set pathext來查看當前設置,一般是PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC,這些文件都不需要在命令行中顯示的指定文件擴展名。 
- 應用程序的文件擴展。應用程序的文件擴展也就是文件關聯。通過文件關聯可以把參數傳遞給可執行文件,從而等價於雙擊鼠標打開對應文件。系統中的已知擴展都對應有文件關聯,通過assoc查看,比如assoc.exe即查看后綴為exe文件的文件關聯。查詢得到.exe=exefile。然后可以使用ftype查看映射的文件類型,比如: ftype exefile得到exefile="%1" %*,即說明運行exe文件時,Windows會判斷第一個值為要運行的命令,其他的則為要運行的參數。

簡單腳本編寫規則

有了Windows系統命令的基本知識,就可以寫一些簡單腳本程序了,與C++、java這類程序有點區別,寫腳本程序不需要;來進行斷開程序段,在命令讀取下面任意字符就終止: 
- 斷行(比如按下shift+enter鍵) 
- 回車與斷行(比如按下enter鍵) 
- 文件尾標志 
常見語句和命令: 
cls清除控制台窗口,充值屏幕緩沖 
rem在腳本中創建注釋 
echo在命令行中顯示消息、關閉或者打開命令回顯 
@以行為單位控制命令的回顯方式 
title設置命令shell窗口的標題欄 
color設置命令shell窗口使用的文本色與背景色

 

為腳本添加注釋

一般注釋信息有: 
- [ ] 腳本創建時間和最后修改時間 
- [ ] 腳本創建者 
- [ ] 腳本創建者聯系方式 
- [ ] 腳本用途 
- [ ] 腳本輸出是否保存及其保存位置 
例如下面一個簡單的腳本程序:

rem ************************
rem Script: SysInfo.bat
rem Creation Data: 2016-7-24
rem Last Modified: 2016-7-24
rem Author: XiaoDong Wang
rem Email: 347916416@qq.com
rem ************************
rem Description: Display system configuration information
rem              include system name. IP configuration 
rem              and Windows version.
rem ************************
rem Files: Stores output in C:\currentSys.txt
rem ************************ 

@echo off
hostname > C:\currentSys.txt
ver >> C:\currentSys.txt
ipconfig -all >> C:\currentSys.txt

cls清除控制台窗口,充值屏幕緩沖 
rem在腳本中創建注釋 
echo在命令行中顯示消息、關閉或者打開命令回顯 
@以行為單位控制命令的回顯方式 
title設置命令shell窗口的標題欄 
color設置命令shell窗口使用的文本色與背景色

這個程序雖然簡單,但是注釋的方式值得學習!以后一定要嚴格要求自己這樣注釋!!主要上面程序的第一行:@代表后面一句話不顯示、echo off代表關閉下面所有行的回顯,非常好用,建議所有腳本第一行都加上這句話,是的腳本運行后不用顯示一堆無用信息。

 

  1. 1、首先用記事本新建一個文件夾

     

    windows如何編寫命令腳本
  2.  

    2、然后在記事本里輸入ipconfig /release和ipconfig /renew命令

     

    windows如何編寫命令腳本
  3.  

    3、將文本另存為.bat為后綴的文件

     

     

    windows如何編寫命令腳本
  4.  

    4、鼠標右鍵選中編輯好的腳本文件,選擇以管理員方式運行

     

    windows如何編寫命令腳本
  5. 5

    5、這時我們電腦就會自動斷開網絡然后重新連接網絡了:

     

    windows如何編寫命令腳本
  6.  

我的CMD輸入任何命令都顯示 不是內部命令也不是外部命令 也不是可運行的外部程序或批處理文件

兄弟,你電腦的環境變量%path%是不是定義錯了?安裝少數軟件可能會修改path值,建議你重新設置下環境變量。
具體設置方法:右鍵“我的電腦”→“屬性”→“高級”→”環境變量”
找到系統變量副框,繼續找到path,雙擊,將變量值輸修改成:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
然后再去試試你的命令吧~
=======================================
看到你的補充截圖,建議你重置一下環境變量:將我給的代碼覆蓋以前的環境變量設定,當然覆蓋前請先備份之前變量路徑。

你命令打錯了…………
要不就是你的系統PATH變量的設置有問題
你在CMD界面打path命令看一下 有沒有類似
PATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
這樣的結果的
如果沒有就自己設置一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM