[20200224]windows命令學習筆記.txt

lfree發表於2020-02-24

[20200224]windows命令學習筆記.txt

--//呆在家裡沒事,學習一些windows命令,做一個記錄:

1.where 相當於linux下which命令:

d:\>where timeout
C:\Windows\System32\timeout.exe

--//cmd的內建命令是不能發現的。
d:\>where cd
資訊: 用提供的模式無法找到檔案。

d:\>where pause
資訊: 用提供的模式無法找到檔案。

2.timeout命令,相當於pause但是功能更加強大。

d:\>timeout /?

TIMEOUT [/T] timeout [/NOBREAK]

描述:
    這個工具接受超時引數,等候一段指定的時間(秒)或等按任意鍵。它還接受
    一個引數,忽視按鍵。

引數列表:
    /T        timeout       指定等候的秒數。有效範圍從 -1 到 99999 秒。

    /NOBREAK                忽略按鍵並等待指定的時間。

    /?                      顯示此幫助訊息。

注意: 超時值 -1 表示無限期地等待按鍵。

示例:
    TIMEOUT /?
    TIMEOUT /T 10
    TIMEOUT /T 300 /NOBREAK
    TIMEOUT /T -1

d:\>timeout /T 5
等待 0 秒,按一個鍵繼續 ...    
--//可以等5秒或者按一個鍵繼續...

3.計算檔案的md5,相當於linux下md5sum.

d:\>where md5sum
D:\tools\linux\usr\local\wbin\md5sum.exe
--//這個是我安裝unxutils包,主要驗證windows下是否計算正確。

d:\>md5sum  usb.bat
badaa5c3f99352641f76ccf59c255248 *usb.bat

--//windows下使用certutil,順便說一下certutil命令功能很多,我僅僅拿來計算md5.
d:\>certutil -hashfile -?
用法:
  CertUtil [選項] -hashfile InFile [HashAlgorithm]
  透過檔案生成並顯示加密雜湊

選項:
  -gmt              -- 將時間顯示為 GMT
  -seconds          -- 用秒和毫秒顯示時間
  -v                -- 詳細操作
  -privatekey       -- 顯示密碼和私鑰資料

CertUtil -?              -- 顯示動詞列表(命名列表)
CertUtil -hashfile -?    -- 顯示 "hashfile" 動詞的幫助文字
CertUtil -v -?           -- 顯示所有動詞的所有幫助文字

d:\>certUtil -hashfile usb.bat MD5
MD5 雜湊(檔案 usb.bat):
ba da a5 c3 f9 93 52 64 1f 76 cc f5 9c 25 52 48
CertUtil: -hashfile 命令成功完成。
--//對比完全能對上,只不過顯示格式與前面不通。

d:\>CertUtil -hashfile usb.bat MD5 | findstr /v "hash MD5"
ba da a5 c3 f9 93 52 64 1f 76 cc f5 9c 25 52 48

d:\>CertUtil -hashfile usb.bat MD5 | findstr /v "hash MD5"  | tr -d " "
badaa5c3f99352641f76ccf59c255248

--//windows的findstr語法很奇怪, findstr /v "hash MD5" ,相當於排除含有hash或者MD5的行。
--//再看看看powershell的語法,ms的東西真變態。本來想學習一點點,放棄。

d:\>powershell
Windows PowerShell
版權所有 (C) 2009 Microsoft Corporation。保留所有權利。

PS D:\> $(CertUtil -hashfile usb.bat MD5)
MD5 雜湊(檔案 usb.bat):
ba da a5 c3 f9 93 52 64 1f 76 cc f5 9c 25 52 48
CertUtil: -hashfile 命令成功完成。

PS D:\> $(CertUtil -hashfile usb.bat MD5)[1]
ba da a5 c3 f9 93 52 64 1f 76 cc f5 9c 25 52 48

--//語法有點點想bash shell,不知道ms是否抄襲^_^。要刪除空格執行如下:
PS D:\> $(CertUtil -hashfile usb.bat MD5)[1] -replace " ",""
badaa5c3f99352641f76ccf59c255248

PS D:\> $(CertUtil -hashfile usb.bat MD5)[1]-replace " ",""
badaa5c3f99352641f76ccf59c255248

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2676913/,如需轉載,請註明出處,否則將追究法律責任。

相關文章