天天看點

【原創--學習整理】BAT和DOS指令整理,持續更新1 關于BAT基于的DOS指令的分類2 外部指令--第三方程式指令3 CMD外部指令 (調用其它程式來實作對對象的操作)四 基本快捷鍵五 詳細的用powershell學習指令行的記錄5 專用的批處理指令6 内部指令詳細(這部分是轉的說明)

1 關于BAT基于的DOS指令的分類

1.1我的分類

我現在作為一個初學者,隻能總結現在的粗淺體驗,友善分類學習,以後慢慢完善

DOS指令可以分為

  1. 内部指令
  2. DOS文法内部的一些特殊符号,如@ 如::
  3. 外部指令
  4. 外部指令有一部分就是調用第三方程式的
  5. 專門的批處理指令?

1.2網上流行的一些分類方法

  • 外部指令
  • 内部指令

1.3 一個前輩的分類

純以dos系統而言,可執行程式大約可以細分為五類,依照執行優先級由高到低排列分别是:

  • DOSKEY宏指令(預先駐留記憶體)
  • COMMAND.COM中的内部指令(根據記憶體的環境随時進駐記憶體)
  • 以com為擴充名的可執行程式(由command.com 直接載入記憶體)
  • 以exe位擴充名的可執行程式(由command.com 重定位後載入記憶體)
  • 以bat位擴充名的批處理程式(由command.com 解釋分析,根據其内容按優先級順序調用第2,3,4,5種可執行程式,分析一行,執行一行,檔案本身不載入記憶體)

2 外部指令--第三方程式指令

1. calc-----------啟動電腦

33. Msconfig.exe---系統配置實用程式

34. mspaint--------畫圖闆

77. write----------寫字闆

40. notepad--------打開記事本

待驗證的

17. drwtsn32------ 系統醫生

18. dvdplay--------DVD播放器

8. Clipbrd--------剪貼闆檢視器

3 CMD外部指令 (調用其它程式來實作對對象的操作)

有不少試過已經不生效了?改名了?

2. certmgr.msc----證書管理實用程式

3. charmap--------啟動字元映射表

4. chkdsk.exe-----Chkdsk磁盤檢查

5. ciadv.msc------索引服務程式

6. cleanmgr-------垃圾整理

7. cliconfg-------SQL SERVER 用戶端網絡實用程式

9. cmd.exe--------CMD指令提示符

10. compmgmt.msc---計算機管理

11. conf-----------啟動netmeeting

12. dcomcnfg-------打開系統元件服務

13. ddeshare-------打開DDE共享設定

14. devmgmt.msc--- 裝置管理器

15. dfrg.msc-------磁盤碎片整理程式

16. diskmgmt.msc---磁盤管理實用程式

19. dxdiag---------檢查DirectX資訊

20. eudcedit-------造字程式

21. eventvwr-------事件檢視器

22. explorer-------打開資料總管

23. fsmgmt.msc-----共享檔案夾管理器

24. gpedit.msc-----組政策

25. iexpress-------木馬捆綁工具,系統自帶

26. logoff---------登出指令

27. lusrmgr.msc----本機使用者群組

28. magnify--------放大鏡實用程式

29. mem.exe--------顯示記憶體使用情況

30. mmc------------打開控制台

31. mobsync--------同步指令

32. mplayer2-------簡易widnows media player

35. mstsc----------遠端桌面連接配接

36. narrator-------螢幕“講述人”

37. net start messenger----開始信差服務

38. net stop messenger-----停止信差服務

39. netstat -an----(TC)指令檢查接口

41. Nslookup-------IP位址偵測器

42. ntbackup-------系統備份和還原

43. ntmsmgr.msc----移動存儲管理器

44. ntmsoprq.msc---移動存儲管理者操作請求

45. odbcad32-------ODBC資料源管理器

46. oobe/msoobe /a----檢查XP是否激活

47. osk------------打開螢幕鍵盤

48. packager-------對象包裝程式

49. perfmon.msc----計算機性能監測程式

50. progman--------程式管理器

51. regedit.exe----系統資料庫

52. regedt32-------系統資料庫編輯器

53. regsvr32 /u *.dll----停止dll檔案運作

54. regsvr32 /u zipfldr.dll------取消ZIP支援

55. rononce -p ----15秒關機

56. rsop.msc-------組政策結果集

57. secpol.msc-----本地安全政策

58. services.msc---本地服務設定

59. sfc /scannow---windows檔案保護

60. sfc.exe--------系統檔案檢查器

61. shrpubw--------建立共享檔案夾

62. sigverif-------檔案簽名驗證程式

63. sndrec32-------錄音機

64. Sndvol32-------音量控制程式

65. syncapp--------建立一個公文包

66. sysedit--------系統配置編輯器

67. syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼 (慎用)

68. taskmgr--------任務管理器

69. tourstart------xp簡介(安裝完成後出現的漫遊xp程式)

70. tsshutdn-------60秒倒計時關機指令

71. utilman--------輔助工具管理器

72. wiaacmgr-------掃描器和照相機向導

73. winchat--------XP自帶區域網路聊天

74. winmsd---------系統資訊

75. winver---------檢查Windows版本

76. wmimgmt.msc----打開windows管理體系結構(WMI)

78. wscript--------windows腳本宿主設定

79. wupdmgr--------windows更新程式

四 基本快捷鍵

(1)指令行裡,按上箭頭可重複上次的打字内容,還可以多按幾次箭頭,可以省事點友善

有的是ctrl+n

(2)複制不是crtl+C,而是滑鼠左鍵按住選中要複制的文本,點一下右鍵即可,然後再需要粘貼的地方也點下滑鼠右鍵即可。

(3)Ctrl+Z 退出Python

         CTRL+C 打斷

五 詳細的用powershell學習指令行的記錄

指令行清單(我自己驗證過了---現在都沒加開關參數 /a 等等)

powershell dos/cmd 英文名 說明
pwd chdir print working directory 列印出目前的工作目錄
hostname hostname   你使用的電腦在網絡中的名字
md / mkdir md / mkdir make dir 建立路徑(檔案夾)
cd cd change directory 更改路徑
new-item 建立文檔,需要很多參數
dir/ls dir dos--linux下才可用

列出路徑下的所有内容

可以帶參數的

rmdir/rm rmdir remove 删除路徑,
pushd

關聯,如輸入

md folder888

pushd folder888

popd

推送路徑
popd  

彈出路徑

傳回之前的路徑,逐層傳回

cp/copy copy copy 複制路徑/檔案
robocopy   更可控的複制指令
mv move 移動路徑/檔案
more   逐頁顯示整個檔案内容
type   列印輸出整個檔案内容
forfiles   在一堆檔案上運作一條指令
dir  dir -r 尋找檔案
select-string   在檔案内查找内容
help   閱讀幫助手冊
helpctr   尋找合适的手冊頁面
echo   列印一些參數
set   設定/導出一個新的環境變量
exit   退出powershell
runas   成為超級使用者或root,危險指令

(1)第一個學習pwd,本來的全稱:print working directory,顯示目前路徑

     pwd (打之前記得先退出python)

     cd ~ (回到根目錄,home路徑,記得是 cd ~ 中間有空格)

(2)在根目錄下,可運作程式

比如PS C:\Users\Administrator> python 或PS C:\Users\Administrator> jira,進入到這些功能後,就不在根目錄了,是以按現在教程的逐級檔案夾往下查就不行(高手估計是可以的),是以用先pwd 然後cd ~出來是不行的,得用ctrl+z退出程式,然後就回到了,檔案模式的根目錄了。

PS C:\Users\Administrator> python

^z (需要輸入crtl+z)

(3)windows的特别之處:/等于\,也就是 C:\Users\Administrator  等同于 C:/Users/Administrator 

        其他地方一般都隻用/ (斜杠),比如各種其他作業系統,網址等等,windows這點有點奇葩?

       是以代碼使用時一般使用  C:\\Users\\Administrator   或者C:/Users/Administrator 

       因為很多程式裡 \ 會被認為是轉義!

       輸入檔案路徑,要麼是 \\ 或 / 路徑,不要輸入\ 作為路徑分隔符

(4)mkdir   (建立路徑 make dir)(隻能建立目錄)

      都是在根目錄下建立,因為你還沒有切換目錄啊(用cd指令),而且建立新目錄後,并不切換目錄,還留在原處。

poewrshell

mkdir temp

mkdir temp\test1                powershell兩種/ 和 \ 都可以 temp/test1

mkdir temp\test\test11

mkdir "I have fun"    //路徑裡如果包含空格,得用引号

mkdir -p  temp/test/test11 //即使中間目錄不存在也能成功?建立完整的?

dos 

mkdir temp\test1                後面這是錯誤文法  temp/test1

(4-2)建立檔案

powershell 建立,需要用 new-item

cmd 下建立文檔--很多方法

https://www.cnblogs.com/kedarui/p/3987656.html

echo 111>1.txt

cd.>2.txt

copy nul 3.txt

(5)cd  切換路徑

cd temp

cd ~           // 寫成cd~會報錯,回到根目錄

cd ..           //往上回一級

cd ../..        //往上回2級

cd ../../..    //往上回3級

cd "I have fun"   // 隻能 "I have fun"   上一層輸入,也就是必須逐級輸入,沒法直接查找某個檔案夾

(6)ls 顯示目前路徑下的内容:子一級的檔案夾/檔案(類dir功能吧)

如果檔案夾内是空的,輸出就啥也不顯示了

其實一般是這樣連用的   cd joe  ----ls---找到下級要去的--cd alex ----ls....

ls            //顯示本級的

ls test1/    // 顯示一個本級的子目錄下的内容

(7) 輸入 help,還要繼續選下級,比如get-command。。好多内容

(8)rmdir 删除空檔案或空目錄 (remove dir) (可以删除目錄,也可以删除檔案)

rmdir test1   //如果test1裡有内容,會提示是否全部删除  Y   A     N之類,選擇yes可以連下級都删除,全部删除

                   //也就說是,隻有目錄裡是空的,才不提示直接删,否則會詢問使用者,做抉擇。

(9)pushd 切換路徑   push dir

儲存目前路徑,切換到新路徑

(10) popd 回到上一個路徑   pop dir

回到上一個路徑

(11) touch  --蘋果的,等同new-item

(12) new-item   建立空檔案/目錄

        new-item  -type file  建立檔案 ,如果不帶 -type 下一步會被詢問,輸入file亦可(或者dir)

        new-item  debug.txt -type file

       new-item  debug.xls  -type file

       new-item   storage -type dir

(13) cp 複制檔案至一個新檔案名/或某路徑下,名字不變

   隻能往同級或下層去操作,不能操作上層?

  可以把目錄/檔案 往另外一個目錄裡放,但好像隻有1層目錄,下層的不會?

     cp  test1.txt  test2.txt

    cp   test1.txt     test2222

     cp  test1.txt  alreadydir/

    cp   testdir1  testdir2/

    cp   testdir1/test1.txt   testdir2/

      以前不會 從同級的desktop  複制1個檔案到 temp 下去--------其實就是用相對或絕對路徑複制過去即可

             cp Desktop\\desktop1.txt temp\\123

首先,cmd和powershell也支援中文路徑

  cd 桌面     

  cd Desktop 

(14) mv    移動檔案/檔案夾目錄  move,本質就是重命名了rename, 原名的檔案消失了

如果新檔案名沒有則自動建立,如果有就直接移動過去,老的消失

   mv test1  test111

   mv  test1.txt  test111.txt 

  參數

  mv  -a 

  mv  -r  帶下層目錄遞歸

  mv -f

(15)less  蘋果用

(16)more 顯示檔案内容

more test.txt

(17)cat 流檔案内容顯示,和more的差別是?--現在我覺得用起來是一樣的,以後慢慢發現和學習吧

cat test.txt

(18)rm 删除檔案

rmdir不是也可以删除檔案嗎?差別是?

(19)exit

(20) forfiles

(21)runas

(22)attrib

(23)icacls

看了下官方手冊,好多内容,好強大

比如還有好多有用的指令,在windows作業系統的機器上,估計程式設計很多時候還需要用到這些指令。。。。

比如cls  (clear screen) 

shutdown.exe -1

stop-computer

restart-computer

4 CMD内部指令 (基于CMD平台就能實作的操作)

**檔案夾管理**

- cd 顯示目前目錄名或改變目前目錄。

- md 建立目錄。

- rd 删除一個目錄。

- dir 顯示目錄中的檔案和子目錄清單。

- tree 以圖形顯示驅動器或路徑的檔案夾結構。

- path 為可執行檔案顯示或設定一個搜尋路徑。

- xcopy 複制檔案和目錄樹。

**檔案管理**

- type 顯示文本檔案的内容。

- copy 将一份或多份檔案複制到另一個位置。

- del 删除一個或數個檔案。

- move 移動檔案并重命名檔案和目錄。(Windows XP Home Edition中沒有)

- ren 重命名檔案。

- replace 替換檔案。

- attrib 顯示或更改檔案屬性。

- find 搜尋字元串。

- fc 比較兩個檔案或兩個檔案集并顯示它們之間的不同

**網絡指令**

- ping 進行網絡連接配接測試、名稱解析

- ftp 檔案傳輸

- net 網絡指令集及使用者管理

- telnet 遠端登陸

- ipconfig顯示、修改TCP/IP設定

- msg 給使用者發送消息

- arp 顯示、修改區域網路的IP位址-實體位址映射清單

**系統管理**

- at 安排在特定日期和時間運作指令和程式

- shutdown立即或定時關機或重新開機

- tskill 結束程序

- taskkill結束程序(比tskill進階,但WinXPHome版中無該指令)

- tasklist顯示程序清單(Windows XP Home Edition中沒有)

- sc 系統服務設定與控制

- reg 系統資料庫控制台工具

- powercfg控制系統上的電源設定

ASSOC 顯示或修改檔案擴充名關聯。

ATTRIB 顯示或更改檔案屬性。

BREAK 設定或清除擴充式 CTRL+C 檢查。

BOOTCFG 設定 boot.ini 檔案的屬性以便控制啟動加載。

CACLS 顯示或修改檔案的通路控制清單(ACL)。

CALL 從另一個批處理程式調用這一個。

CD 顯示目前目錄的名稱或将其更改。

CHCP 顯示或設定活動代碼頁數。

CHDIR 顯示目前目錄的名稱或将其更改。

CHKDSK 檢查磁盤并顯示狀态報告。

CHKNTFS 顯示或修改啟動時間磁盤檢查。

CLS 清除螢幕。

CMD 打開另一個 Windows 指令解釋程式視窗。

COLOR 設定預設控制台前景和背景顔色。

COMP 比較兩個或兩套檔案的内容。

COMPACT 顯示或更改 NTFS 分區上檔案的壓縮。

CONVERT 将 FAT 卷轉換成 NTFS。您不能轉換目前驅動器。

COPY 将至少一個檔案複制到另一個位置。

DATE 顯示或設定日期。

DEL 删除至少一個檔案。

DIR 顯示一個目錄中的檔案和子目錄。

DISKCOMP 比較兩個軟碟的内容。

DISKCOPY 将一個軟碟的内容複制到另一個軟碟。

DISKPART 顯示或配置磁盤分區屬性。

DOSKEY 編輯指令行、調用 Windows 指令并建立宏。

DRIVERQUERY 顯示目前裝置驅動程式狀态和屬性。

ECHO 顯示消息,或将指令回顯打開或關上。

ENDLOCAL 結束批檔案中環境更改的本地化。

ERASE 删除一個或多個檔案。

EVENTQUERY 顯示指定準則的事件日志項目。

EXIT 退出 CMD.EXE 程式(指令解釋程式)。

FC 比較兩個檔案或兩個檔案集并顯示它們之間的不同。

FIND 在一個或多個檔案中搜尋一個文字字元串。

FINDSTR 在多個檔案中搜尋字元串。

FOR 為一套檔案中的每個檔案運作一個指定的指令。

FORMAT 格式化磁盤,以便跟 Windows 使用。

FSUTIL 顯示或配置檔案系統的屬性。

FTYPE 顯示或修改用在檔案擴充名關聯的檔案類型。

GOTO 将 Windows 指令解釋程式指向批處理程式

中某個帶标簽的行。

GPRESULT 顯示機器或使用者的組政策資訊。

GRAFTABL 啟用 Windows 在圖形模式顯示擴充字元集。

HELP 提供 Windows 指令的幫助資訊。

IF 在批處理程式中執行有條件的處理過程。

LABEL 建立、更改或删除磁盤的卷标。

MD 建立一個目錄。

MKDIR 建立一個目錄。

MODE 配置系統裝置。

MORE 逐屏顯示輸出。

MOVE 将一個或多個檔案從一個目錄移動到另一個目錄。

OPENFILES 顯示遠端使用者為了檔案共享而打開的檔案。

PAGEFILECONFIG 顯示或配置頁面檔案的屬性。

PATH 為可執行檔案顯示或設定搜尋路徑。

PAUSE 停止批處理檔案的處理并顯示資訊。

POPD 還原由 PUSHD 儲存的目前目錄上一次的值。

PRINT 列印一個文本檔案。

PROMPT 改變 Windows 指令提示。

PUSHD 儲存目前目錄,然後對其進行更改。

RD 删除目錄。

RECOVER 從損壞的磁盤中恢複可讀取的資訊。

REM 記錄批處理檔案或 CONFIG.SYS 中的注釋。

REN 重新命名檔案。

RENAME 重新命名檔案。

REPLACE 替換檔案。

RMDIR 删除目錄。

SET 顯示、設定或删除 Windows 環境變量。

SETLOCAL 開始用批檔案改變環境的本地化。

SC 顯示或配置服務(背景處理)。

SCHTASKS 安排指令和程式在一部計算機上按計劃運作。

SHIFT 調整批處理檔案中可替換參數的位置。

SHUTDOWN 讓機器在本地或遠端正确關閉。

SORT 将輸入排序。

START 打開單獨視窗運作指定程式或指令。

SUBST 将驅動器号與路徑關聯。

SYSTEMINFO 顯示機器的具體的屬性和配置。

TASKLIST 顯示包括服務的所有目前運作的任務。

TASKKILL 終止正在運作的程序或應用程式。

TIME 顯示或設定系統時間。

TITLE 設定 CMD.EXE 會話的視窗标題。

TREE 以圖形顯示啟動器或路徑的目錄結構。

TYPE 顯示文本檔案的内容。

VER 顯示 Windows 的版本。

VERIFY 告訴 Windows 驗證檔案是否正确寫入磁盤。

VOL 顯示磁盤卷标和序列号。

XCOPY 複制檔案和目錄樹。

WMIC 在互動指令外殼裡顯示 WMI 資訊。

5 專用的批處理指令

6 内部指令詳細(這部分是轉的說明)

38 subst (外部指令)

映射磁盤。

subst z: serverd #這樣輸入z:就可以通路serverd了

subst z: /d #取消該映射

subst #顯示目前所有的映時

39 xcopy (外部指令)

檔案拷貝

xcopy d:mp3 e:mp3 /s/e/i/y

複制 d:mp3 檔案夾、所有子檔案夾和檔案到 e: ,覆寫已有檔案

加 /i 表示如果 e: 沒有 mp3 檔案夾就自動建立一個,否則會有詢問

```

36 pushd 和 popd

切換目前目錄

@echo off

c: & cd & md mp3 #在 C: 建立 mp3 檔案夾

md d:mp4 #在 D: 建立 mp4 檔案夾

cd /d d:mp4 #更改目前目錄為 d:mp4

pushd c:mp3 #儲存目前目錄,并切換目前目錄為 c:mp3

popd #恢複目前目錄為剛才儲存的 d:mp4

3 dir

顯示檔案夾内容

dir #顯示目前目錄中的檔案和子目錄

dir /a #顯示目前目錄中的檔案和子目錄,包括隐藏檔案和系統檔案

dir c: /a:d #顯示 C 盤目前目錄中的目錄

dir c: /a:-d #顯示 C 盤根目錄中的檔案

dir c: /b/p #/b隻顯示檔案名,/p分頁顯示

dir *.exe /s #顯示目前目錄和子目錄裡所有的.exe檔案

4 cd

切換目錄

cd #進入根目錄

cd #顯示目前目錄

cd /d d:sdk #可以同時更改盤符和目錄

5 md

建立目錄

md d:abc #如果 d:a 不存在,将會自動建立中級目錄

#如果指令擴充名被停用,則需要鍵入 mkdir abc。

6 rd

删除目錄

rd abc #删除目前目錄裡的 abc 子目錄,要求為空目錄

rd /s/q d:temp #删除 d:temp 檔案夾及其子檔案夾和檔案,/q安靜模式

7 del

删除檔案

del d:test.txt #删除指定檔案,不能是隐藏、系統、隻讀檔案

del /q/a/f d:temp*.*

删除 d:temp 檔案夾裡面的所有檔案,包括隐藏、隻讀、系統檔案,不包括子目錄

del /q/a/f/s d:temp*.*

删除 d:temp 及子檔案夾裡面的所有檔案,包括隐藏、隻讀、系統檔案,不包括子目錄

8 ren

重命名指令

ren d:temp tmp #支援對檔案夾的重命名

9 cls

清屏

10 type

顯示檔案内容

type c:boot.ini #顯示指定檔案的内容,程式檔案一般會顯示亂碼

type *.txt #顯示目前目錄裡所有.txt檔案的内容

17 date 和 time

日期和時間

date #顯示目前日期,并提示輸入新日期,按"回車"略過輸入

date/t #隻顯示目前日期,不提示輸入新日期

time #顯示目前時間,并提示輸入新時間,按"回車"略過輸入

time/t #隻顯示目前時間,不提示輸入新時間

從檔案中獲得輸入資訊,而不是從螢幕上

一般用于 date time label 等需要等待輸入的指令

@echo off

echo 2005-05-01>temp.txt

date <temp.txt

del temp.txt

這樣就可以不等待輸入直接修改目前日期

18 goto 和 :

跳轉指令

:label #行首為:表示該行是标簽行,标簽行不執行操作

goto label #跳轉到指定的标簽那一行

19 find (外部指令)

查找指令

find "abc" c:test.txt

在 c:test.txt 檔案裡查找含 abc 字元串的行

如果找不到,将設 errorlevel 傳回碼為1

find /i “abc” c:test.txt

查找含 abc 的行,忽略大小寫

find /c "abc" c:test.txt

顯示含 abc 的行的行數

20 more (外部指令)

逐屏顯示

more c:test.txt #逐屏顯示 c:test.txt 的檔案内容

21 tree

顯示目錄結構

tree d: #顯示D盤的檔案目錄結構