操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    我在freebuf上過一篇文章《撿拾VBS應用層里的明珠》,里邊提到過如果在VBS直接調用classid,需要用wsf后綴文件來完成。當時是對GetObject這個方法沒有深入來了解。用wsf如何調用呢?舉個例子(保存成1.wsf):

    <Job ID="myjob"> 
    <object id="ShellWindows" classiD="clsiD:9BA05972-F6A8-11CF-A442-00A0C90A8F39"/>
    <script language="VBScript">
    set obj=ShellWindows.item()
    obj.Document.Application.ShellExecute "cmd.exe","/c calc.exe","c:\windows\system32","",0
    </script>
    </Job>

    其實VBS可以直接用GetObject來調用classid的。主要有以下幾種方法:

    "iis:<metabasepath>"
    "java:<classname>"
    "script:<absolutepath>"	
    "clsid:<clsid>"	
    "WinMgmts:<string>"	
    "OBJREF:<base64encodedstring>"
    "queue:<clsid/progid>"
    "new:<clsid/progid>"

    所以我們用VBS來調用clsid,示例代碼如下:

    Dim Shell
    Set Shell=GetObject("new:72C24DD5-D70A-438B-8A42-98424B88AFB8")
    Shell.Run "cmd /c calc.exe"

    其實就是一個new關鍵字。最近看到了Joey@天玄安全實驗室寫的一篇文章《COM 對象的利用與挖掘》,作者也挖到了一個新的利用vbs執行命令的方法,代碼如下:

    Set execl=GetObject("new:00020812-0000-0000-C000-000000000046")
    execl.ExecuteExcel4Macro ("CALL(""shell32"", ""ShellExecuteA"", ""JJJCJJH"", -1, 0, ""CALC"", 0, 0, 5)")

    其實GetObject這個方法,還有一些好玩的特性,舉個例子:

    Set objFso=CreateObject("Scripting.FileSystemObject")
    Set objFso1=GetObject("", "Scripting.FileSystemObject")
    
    WScript.Echo TypeName(objFso)
    WScript.Echo TypeName(objFso1)

    如果沒有上邊代碼第一行,那個objfso1就是空值了。


    打開"運行"對話框(Win+R),輸入cmd,打開控制臺命令窗口...

    也可以通過cmd /c 命令cmd /k 命令的方式來直接運行命令

    注:/c表示執行完命令后關閉cmd窗口;/k表示執行完命令后保留cmd窗口

    # 控制臺命令窗口中一些技巧

    復制內容:右鍵彈出快捷菜單,選擇“標記(K)”,然后選中所需復制的內容,然后右鍵即可

    粘貼內容:右鍵彈出快捷菜單,選擇“粘貼(P)

    在文件夾空白處按住Shift,然后右鍵彈出快捷菜單,可以看到“在此處打開命令行窗口

    使用上下方向鍵,翻看使用過的命令

    tab補全功能

    命令參數的路徑:要使用反斜杠'\',不要使用正斜杠'/' :del d:\test2\file\my.txt

    命令參數的路徑:若存在空格,應使用雙引號將路徑引起來 :del "d:\program files\file\my.txt"

    文件及目錄名中不能包含下列任何字符:\ / : * ? " < > |

    rem // 在批處理文件中添加注解,其后的命令不會被執行,但會回顯

    :: // ::也可以起到rem的注釋作用,且不會有回顯

    任何以冒號:開頭的字符行, 在批處理中都被視作標號(label), 而直接忽略其后的所有內容
    有效標號:冒號后緊跟一個以字母數字開頭的字符串,goto語句可以識別
    無效標號:冒號后緊跟一個非字母數字的一個特殊符號,goto無法識別的標號,可以起到注釋作用,::常被用作注釋符號

    0. 獲取幫助

    command /? // 查看command命令幫助說明

    1. 中斷命令執行

    Ctrl + Z

    2. 文件/目錄

    cd 切換目錄

    例:cd // 顯示當前目錄

    例:cd .. // 進入父目錄

    例:cd /d d: // 進入上次d盤所在的目錄(或在直接輸入:d:)

    例:cd /d d:\ // 進入d盤根目錄

    例:cd d: // 顯示上次d盤所在的目錄

    例:cd /d d:\src // 進入d:\src目錄

    例:cd prj\src\view // 進入當前目錄下的prj\src\view文件夾

    pushd popd 使用棧來維護當前目錄

    md d:\mp3 // 在C:\建立mp3文件夾
    md d:\mp4 // 在D:\建立mp4文件夾
    cd /d d:\mp4 // 更改當前目錄為d:\mp4
    pushd c:\mp3 // 將當前目錄d:\mp4入棧,并切換當前目錄為c:\mp3
    popd // 將剛才保存的d:\mp4彈棧,并設置為當前目錄

    dir 顯示目錄中的內容

    例:dir // 顯示當前目錄中的子文件夾與文件

    例:dir /b // 只顯示當前目錄中的子文件夾與文件的文件名

    例:dir /p // 分頁顯示當前目錄中的子文件夾與文件

    例:dir /ad // 顯示當前目錄中的子文件夾

    例:dir /a-d // 顯示當前目錄中的文件

    例:dir c:\test // 顯示c:\test目錄中的內容

    例:dir keys.txt // 顯示當前目錄中keys.txt的信息

    例:dir /S // 遞歸顯示當前目錄中的內容

    例:dir key* // 顯示當前目錄下以key開頭的文件和文件夾的信息

    例:dir /AH /OS // 只顯示當前目錄中隱藏的文件和目錄,并按照文件大小從小到大排序

    tree 顯示目錄結構

    例:tree d:\myfiles // 顯示d:\myfiles目錄結構

    ren 文件或目錄重命名

    例:ren rec.txt rec.ini // 將當前目錄下的rec.txt文件重命名為rec.ini

    例:ren c:\test test_01 // 將c盤下的test文件夾重命名為test_01

    例:ren Logs.txt Logs-%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.txt // 將當前目錄下的Logs.txt文件重命名為Logs-20150114_2135.txt或Logs-20150114_ 812.txt(注意:小時只有個位數時會多一個空格,可以使用字符串替換:將空格替換成0)

    md 創建目錄

    例:md movie music // 在當前目錄中創建名為movie和music的文件夾

    例:md d:\test\movie // 創建d:\test\movie目錄

    rd 刪除目錄

    例:rd movie // 刪除當前目錄下的movie空文件夾

    例:rd /s /q d:\test // 使用安靜模式刪除d:\test(除目錄本身外,還將刪除指定目錄下的所有子目錄和文件)

    copy 拷貝文件

    例:copy key.txt c:\doc // 將當前目錄下的key.txt拷貝到c:\doc下(若doc中也存在一個key.txt文件,會詢問是否覆蓋)

    例:copy jobs c:\doc // 將當前目錄下jobs文件夾中文件(不遞歸子目錄)拷貝到c:\doc下(若doc中也存在相應的文件,會詢問是否覆蓋)

    例:copy key.txt c:\doc\key_bak.txt // 將當前目錄下的key.txt拷貝到c:\doc下,并重命名為key_bak.txt(若doc中也存在一個key_bak.txt文件,會詢問是否覆蓋)

    例:copy /Y key.txt c:\doc // 將當前目錄下的key.txt拷貝到c:\doc下(不詢問,直接覆蓋寫)

    例:copy key.txt + // 復制文件到自己,實際上是修改了文件日期

    例:copy /Y key1.txt + key2.txt key.txt // 將當前目錄下的key1.txt與key2.txt的內容合并寫入key.txt中(不詢問,直接覆蓋寫)

    例:copy /B art_2.7z.* art_2.7z // 將當前目錄下的art_2.7z.開頭的所有文件(按照名稱升序排序)依次合并生成art_2.7z

    例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z // 將當前目錄下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z

    xcopy 更強大的復制命令

    例:xcopy c:\bat\hai d:\hello\ /y /h /e /f /c // 將c:\bat\hai中的所有內容拷貝到d:\hello中 注意:需要在hello后加上\ 表示hello為一個目錄,否則xcopy會詢問hello是F,還是D

    例:xcopy c:\bat\hai d:\hello\ /d:12-29-2010 // 將c:\bat\hai中的2010年12月29日后更改的文件拷貝到d:\hello中

    move 移動文件

    例:move *.png test // 將當前目錄下的png圖片移動到當前目錄下test文件夾中 (若test中也存在同名的png圖片,會詢問是否覆蓋)

    例:move /Y *.png test // 將當前目錄下的png圖片移動到當前目錄下test文件夾中 (不詢問,直接覆蓋寫)

    例:move 1.png d:\test.png // 將當前目錄下的1.png移動到d盤test文件夾中,并重命名為2.png (若test中也存在同名的png圖片,會詢問是否覆蓋)

    例:move test d:\new // 若d盤中存在new文件夾,將當前目錄下的test文件夾移動到d盤new文件夾中;若不存在,將當前目錄下的test文件夾移動到d盤,并重命名為new

    del 刪除文件 注意:目錄及子目錄都不會刪除

    例:del test // 刪除當前目錄下的test文件夾中的所有非只讀文件(子目錄下的文件不刪除;刪除前會進行確認;等價于del test\*

    例:del /f test // 刪除當前目錄下的test文件夾中的所有文件(含只讀文件;子目錄下的文件不刪除;刪除前會進行確認;等價于del /f test\*

    例:del /f /s /q test d:\test2\*.doc // 刪除當前目錄下的test文件夾中所有文件及d:\test2中所有doc文件(含只讀文件;遞歸子目錄下的文件;刪除前不確認)

    ++++++++++++++++++++++

    /ar、/ah、/as、/aa 分別表示刪除只讀、隱藏、系統、存檔文件
    /a-r、/a-h、/a-s、/a-a 分別表示刪除除只讀、隱藏、系統、存檔以外的文件

    ++++++++++++++++++++++

    例:del /ar *.* // 刪除當前目錄下所有只讀文件

    例:del /a-s *.* // 刪除當前目錄下除系統文件以外的所有文件

    replace 替換文件即使這個文件在使用,仍然可以替換成功

    例:replace d:\love.mp3 d:\mp3 // 使用d盤下的love.mp3強制替換d盤mp3目錄中的love.mp3文件

    mklink 創建符號鏈接(win7引入)創建的符號鏈接文件上會有一個類似快捷方式的箭頭

    win7下的mklink命令通過指定參數可以建立出不同形式的文件或目錄鏈接,分為硬鏈接(hard link)符號鏈接(symbolic link)目錄聯接(junction)三種。

    (1) 符號鏈接(symbolic link)

     建立一個軟鏈接相當于建立一個文件(或目錄),這個文件(或目錄)用于指向別的文件(或目錄),和win的快捷方式有些類似。

    刪除這個鏈接,對原來的文件(或目錄)沒有影像沒有任何影響;而當你刪除原文件(或目錄)時,再打開鏈接則會提示“位置不可用”。

    (2) 目錄聯接(junction)

     作用基本和符號鏈接類似。區別在于,目錄聯接在建立時會自動引用原目錄的絕對路徑,而符號鏈接允許相對路徑的引用。

    (3) 硬鏈接(hard link)

     建立一個硬鏈接相當于給文件建立了一個別名,例如對1.txt創建了名字為2.txt的硬鏈接;

    若使用記事本對1.txt進行修改,則2.txt也同時被修改,若刪除1.txt,則2.txt依然存在,且內容與1.txt一樣。

    建立鏈接請注意:
    a、建立文件或目錄鏈接限于 NTFS 文件系統;符號鏈接(目錄聯接)的建立可以跨分區(如:在d盤可以建立c盤文件或目錄的鏈接),硬鏈接只能建立同一分區內的文件指向
    b、硬鏈接只能用于文件,不能用于目錄;目錄聯接只能用于目錄;符號鏈接則均可以;
    c、硬鏈接不允許對空文件建立鏈接,符號(軟)鏈接可以。

    +++++++++++++++++++++++++++++++++

    mklink [[/d] | [/h] | [/j]] Link Target

    /d   創建目錄符號鏈接。黙認為文件符號鏈接。
    /h   創建硬鏈接,而不是符號鏈接。
    /j   創建目錄聯接。
    Link  指定新的符號鏈接名稱。
    Target 指定新鏈接引用的路徑(相對或絕對)。

    +++++++++++++++++++++++++++++++++

    例:mklink /j "C:\Users" "D:\Users" // 創建D盤Users目錄聯接到C盤,并命名為Users

    attrib 查看或修改文件或目錄的屬性 A:存檔 R:只讀 S:系統 H:隱藏

    例:attrib 1.txt // 查看當前目錄下1.txt的屬性

    例:attrib -R 1.txt // 去掉1.txt的只讀屬性

    例:attrib +H movie // 隱藏movie文件夾

    assoc 設置'文件擴展名'關聯到的'文件類型'

    例:assoc // 顯示所有'文件擴展名'關聯

    例:assoc .txt // 顯示.txt代表的'文件類型',結果顯示.txt=txtfile

    例:assoc .doc // 顯示.doc代表的'文件類型',結果顯示.doc=Word.Document.8

    例:assoc .exe // 顯示.exe代表的'文件類型',結果顯示.exe=exefile

    例:assoc .txt=txtfile // 恢復.txt的正確關聯

    ftype 設置'文件類型'關聯到的'執行程序和參數'

    例:ftype // 顯示所有'文件類型'關聯

    例:ftype exefile // 顯示exefile類型關聯的命令行,結果顯示 exefile="%1" %*

    例:ftype txtfile=C:\Windows\notepad.exe %1 // 設置txtfile類型關聯的命令行為:C:\Windows\notepad.exe %1

    當雙擊一個.txt文件時,windows并不是根據.txt直接判斷用notepad.exe打開
    而是先判斷.txt屬于txtfile'文件類型';再調用txtfile關聯的命令行:txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1

    forfiles 遞歸目錄執行命令

    例:forfiles /p . /m .svn /s /c "cmd /c svn up -r12005" // 在當前目錄下查找含有.svn的文件或目錄(遞歸子目錄),并對該目錄執行指定版本號svn更新

    例:forfiles /p c:\myfiles /m .svn /s /c "cmd /c svn up -r12005" // 在c:\myfiles目錄下查找含有.svn的文件或目錄(遞歸子目錄),并對該目錄執行指定版本號svn更新

    3. 文件查看

    type 顯示文本文件內容

    例:type c:.txt // 顯示c盤中11.txt的文本內容

    例:type conf.ini // 顯示當前目錄下conf.ini的文本內容

    例:type c:.txt | more // 分頁顯示c盤中11.txt的文本內容

    more 逐屏的顯示文本文件內容

    例:more conf.ini // 逐屏的顯示當前目錄下conf.ini的文本內容 空格:下一屏 q:退出

    4. 注冊表命令

    reg 注冊表相關操作

    參數說明:

    KeyName [\Machine]FullKey
    Machine為遠程機器的機器名 - 忽略默認到當前機器。
    遠程機器上只有 HKLM 和 HKU。
    FullKey ROOTKEY+SubKey
    ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey 所選ROOTKEY下注冊表項的完整名
    /v 所選項之下要添加的值名
    /ve 為注冊表項添加空白值名<無名稱>
    /t RegKey 數據類型
    [ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
    REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
    REG_NONE | REG_EXPAND_SZ ]
    如果忽略,則采用 REG_SZ
    /s 指定一個在 REG_MULTI_SZ 數據字符串中
    用作分隔符的字符;如果忽略,則將""用作分隔符
    /d 要分配給添加的注冊表ValueName的數據
    /f 不提示,強行改寫現有注冊表項

    例:reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MyApp /t REG_SZ /d "c:\tools\myapp.exe" /f // 強制添加一條開機啟動c:\tools\myapp.exe程序的注冊表項

    例:reg add "HKLM\SOFTWARE\ScmClient" /v AgreementConfirmed /t REG_SZ /d 1 /f // 解決32位xp打開ioa后,彈出的框關不掉問題

    例:reg add "HKCU\ControlPanel\Desktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f // 強制添加一條加速關閉應用程序的注冊表項

    例:reg add "hkcu\software\Unity Technologies\Unity Editor 4.x" /v JdkPath_h4127442381 /t REG_SZ /f // 將JdkPath_h4127442381設置為空

    例:reg add "HKCR\*\shell\WinDbg\command" /t REG_SZ /d "\"D:\Program Files (x86)\windbg\windbg.exe\" -z \"%1\" " /f // 強制添加windbg打開dump文件到右鍵菜單的注冊表項(不指明/v,鍵值將寫入默認值名中)

    例:reg add "HKCR\*\shell\WinHex\command" /t REG_SZ /d "\"D:\software-setup\system\winhex\winhex.exe\" \"%1\" " /f // 強制添加winhex到右鍵菜單的注冊表項(不指明/v,鍵值將寫入默認值名中)

    注冊表中%1 %2 %3 %4的含義:
    -- %1表示文件列表,%2表示默認打印機,%3表示驅動器,%4表示端口

    例:reg add "hkcu\software\microsoft\windows\currentversion\internet settings" /v AutoConfigURL /t REG_SZ /d "http://txp-01.tencent.com/proxy.pac" /f // 為IE設置代理:http://txp-01.tencent.com/proxy.pac

    例:reg add "hkcu\software\Sysinternals\Process Monitor" /v EulaAccepted /t REG_DWORD /d 1 /f // 為Procmon.exe工具(Process Monitor為其屬性面板上的描述名)添加License同意

    例:reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MyApp /f // 強制刪除值名的MyApp的注冊表項

    例:reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /f // 強制刪除讓任務欄里的任務管理器為灰色的注冊表項

    例:reg delete HKEY_CURRENT_USER\Environment /v HTTP_proxy /f // 刪除http代理

    例:reg delete HKEY_CURRENT_USER\Environment /v HTTPS_proxy /f // 刪除https代理

    例:reg copy "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winminebk" /s /f // 強制復制winmine下所有的子項與值到winminebk中

    例:reg export "hkcu\software\microsoft\winmine" c:\regbak\winmine.reg // 導出winmine下所有的子項與值到c:\regbak\winmine.reg文件中

    例:reg import c:\regbak\winmine.reg // 導入c:\regbak\winmine.reg文件到注冊表中

    例:reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" /s // 查詢ie的安裝路徑

    例:reg query HKCR\.dsw /ve // 查詢.dsw默認值

    例:reg query HKEY_CURRENT_USER\Software\Tencent\QQGame\SYS /v GameDirectory // 查詢QQGame安裝路徑

    5. @#@

    & 順序執行多條命令,而不管命令是否執行成功

    例:cd /d d:\src&work.exe /o c:\result.txt // 先將當前工作目錄切換到d:\src下,然后執行work.exe /o c:\result.txt命令

    && 順序執行多條命令,當碰到執行出錯的命令后將不執行后面的命令

    例:find "ok" c:\test.txt && echo 成功 // 如果找到了"ok"字樣,就顯示"成功",找不到就不顯示

    || 順序執行多條命令,當碰到執行正確的命令后將不執行后面的命令

    例:find "ok" c:\test.txt || echo 不成功 // 如果找不到"ok"字樣,就顯示"不成功",找到了就不顯示

    | 管道命令

    例:dir *.* /s/a | find /c ".exe" // 先執行dir命令,然后對輸出結果(stdout)執行find命令(輸出當前文件夾及所有子文件夾里的.exe文件的個數)

    例:dir *.* /s/a 2>&1 | find /c ".exe" // 先執行dir命令,然后對輸出結果(stdout)和錯誤信息(stderr)執行find命令(輸出當前文件夾及所有子文件夾里的.exe文件的個數)

    > 將當前命令輸出以覆蓋的方式重定向

    例:tasklist > p1.txt // 將tasklist的輸出結果(stdout)以覆蓋的方式重定向到p1.txt文件中(注:tasklist的輸出結果就不會打印到屏幕上了)

    例:tasklist 1> p1.txt // 等同于:tasklist > p1.txt

    例:dir bin 2> p1.txt // 輸出結果(stdout)打印在屏幕上,錯誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin > p1.txt 2>&1 // 將錯誤信息(stderr)重定向到輸出結果(stdout),然后將輸出結果(stdout)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin 2> p1.txt 1>&2 // 將輸出結果(stdout)重定向到錯誤信息(stderr),然后將錯誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息) 注:與上條命令結果一致

    例:tasklist >nul // 屏幕上不打印tasklist的輸出結果(stdout),錯誤信息(stderr)仍會打印

    例:dir bin 2>nul // 屏幕上不打印命令的錯誤信息(stderr),輸出結果(stdout)仍會打印(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin >nul 2>&1 // 將命令的錯誤信息(stderr)重定向到輸出結果(stdout),然后不打印輸出結果(stdout)【屏幕上錯誤信息(stderr)和輸出結果(stdout)都不打印】(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin 2>nul 1>&2 // 將命令的輸出結果(stdout)重定向到錯誤信息(stderr),然后不打印錯誤信息(stderr)【屏幕上錯誤信息(stderr)和輸出結果(stdout)都不打印】(注:bin目錄不存在時,會輸出錯誤信息)

    >> 將當前命令輸出以追加的方式重定向

    例:tasklist >> p2.txt // 將tasklist的輸出結果(stdout)以追加的方式重定向到p2.txt文件中(注:tasklist的輸出結果就不會打印到屏幕上了)

    例:tasklist 1>> p2.txt // 等同于:tasklist >> p2.txt

    例:dir bin 2>> p2.txt // 輸出結果(stdout)打印在屏幕上,錯誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin >> p2.txt 2>&1 // 將錯誤信息(stderr)重定向到輸出結果(stdout),然后將輸出結果(stdout)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息)

    例:dir bin 2>> p2.txt 1>&2 // 將輸出結果(stdout)重定向到錯誤信息(stderr),然后將錯誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息) 注:與上條命令結果一致

    < 從文件中獲得輸入信息,而不是從屏幕上,一般用于date time label等需要等待輸入的命令

    例:date <temp.txt // temp.txt中的內容為2005-05-01


    編號Handle說明

    0stdin鍵盤輸入

    1stdout在命令提示窗口上打印輸出結果(默認)

    2stderr在命令提示窗口上打印錯誤信息(默認)

    3-9undefined應用程序自己定義和指定


    @ 命令修飾符 在執行命令前,不打印出該命令的內容

    例:@cd /d d:\me // 執行該命令時,不打印出命令的內容:cd /d d:/me

    , 在某些特殊的情況下可以用來代替空格使用

    例:dir,c:\ // 相當于:dir c:\

    ; 當命令相同的時候,可以將不同的目標用;隔離開來但執行效果不變。如執行過程中發生錯誤則只返回錯誤報告但程序還是會繼續執行

    例:dir c:\;d:\;e:\ // 相當于順序執行:dir c:\ dir d:\ dir e:\

    echo. // 輸出一個"回車換行",空白行

    echo off // 后續所有命令在執行前,不打印出命令的內容

    echo on // 后續所有命令在執行前,打印出命令的內容

    echo 123 // 輸出123到終端屏幕

    echo "Hello World!!!" // 輸出Hello World!!!到終端屏幕

    echo %errorlevel% // 每個命令運行結束,可以用這個命令行格式查看返回碼;默認值為0,一般命令執行出錯會設errorlevel為1

    echo test > p1.txt // 輸出test的字符串到當前目錄中的p1.txt文件中(以覆蓋的方式)

    set // 顯示當前用戶所有的環境變量

    set path // 查看path的環境變量值(準確的說是查看以path開頭的環境變量)

    set path= // 清空path變量

    set path=d:\execute // 將path變量設置為d:\execute(注:修改的path只會影響當前回話,也不會存儲到系統配置中去;當前cmd窗口關閉,新設置的path也就不存在了)

    set path=%path%;d:\execute // 在path變量中添加d:\execute(注:修改的path只會影響當前回話,也不會存儲到系統配置中去;當前cmd窗口關閉,新設置的path也就不存在了)

    path // 顯示當前path變量的值

    path ; // 清除所有搜索路徑設置并指示cmd.exe只在當前目錄中搜索

    path d:\xxx;%PATH% // 將d:\xxx路徑添加到path中

    ---------------------------------------------------

    set p=aa1bb1aa2bb2 // 設置變量p,并賦值為aa1bb1aa2bb2

    echo %p% // 顯示變量p代表的字符串,即aa1bb1aa2bb2

    echo %p:~6% // 顯示變量p中第6個字符以后的所有字符,即aa2bb2

    echo %p:~6,3% // 顯示第6個字符以后的3個字符,即aa2

    echo %p:~0,3% // 顯示前3個字符,即aa1

    echo %p:~-2% // 顯示最后面的2個字符,即b2

    echo %p:~0,-2% // 顯示除了最后2個字符以外的其它字符,即aa1bb1aa2b

    echo %p:aa=c% // 用c替換變量p中所有的aa,即顯示c1bb1c2bb2

    echo %p:aa=% // 將變量p中的所有aa字符串置換為空,即顯示1bb12bb2

    echo %p:*bb=c% // 第一個bb及其之前的所有字符被替換為c,即顯示c1aa2bb2

    set p=%p:*bb=c% // 設置變量p,賦值為 %p:*bb=c% ,即c1aa2bb2

    set /a p=39 // 設置p為數值型變量,值為39

    set /a p=39/10 // 支持運算符,有小數時用去尾法,39/10=3.9,去尾得3,p=3

    set /a p=p/10 // 用 /a 參數時,在=后面的變量可以不加%直接引用

    set /a p="1&0" // &運算要加引號。其它支持的運算符參見set/?

    ---------------------------------------------------

    cls 清除屏幕

    ver 顯示當前windows系統的版本號

    winver 彈框顯示當前windows系統信息

    vol 顯示當前分區的卷標

    label 顯示當前分區的卷標,同時提示輸入新卷標

    label c:system 設置c盤的卷標為system

    time 顯示或設置當前時間

    例:time /t // 顯示當前時間

    例:time // 設置新的當前時間(格式:hh:mm:ss),直接回車則表示放棄設置

    date 顯示或設置當前日期

    例:date /t // 顯示當前日期

    例:date // 設置新的當前日期(格式:YYYY/MM/DD),直接回車則表示放棄設置

    title 正在做命令行測試 // 修改當前cmd窗口的標題欄文字為正在做命令行測試

    prompt orz: // 將命令提示符修改為orz:

    print 1.txt // 使用設置好的打印機來打印1.txt文本文件

    call ff.bat // 調用執行ff.bat腳本(ff.bat腳本執行完原腳本才會往下執行)

    start 運行某程序或命令

    例:start /max notepad.exe // 最大化的方式啟動記事本

    例:start /min calc.exe // 最小化的方式啟動計算器

    例:start /min "" d:\Proxifier.exe // 最小化的方式啟動Proxifier代理工具

    例:start tasklist // 啟動一個cmd實例窗口,并運行tasklist

    例:start explorer f:\ // 調用資源管理器打開f盤

    例:strat iexplore "www.qq.com" // 啟動ie并打開www.qq.com網址

    例:start ff.bat // 啟動開始執行ff.bat(啟動ff.bat腳本后,原腳本繼續執行,不會等ff.bat腳本執行完)

    exit 退出當前cmd窗口實例

    例:exit 0 // 退出當前cmd窗口實例,并將過程退出代碼設置為0(0表示成功,非0表示失敗)

    例:exit /B 1 // 退出當前bat腳本,并將ERRORLEVEL系統變量設置為1

    pause 暫停批處理程序,并顯示出:請按任意鍵繼續....

    color 設置當前cmd窗口背景色和前景色(前景色即為字體的顏色)

    例:color // 恢復到缺省設置

    例:color 02 // 將背景色設為黑色,將字體設為綠色

    --------------------------------------
    0=黑色 8=灰色
    1=藍色 9=淡藍色
    2=綠色 A=淡綠色
    3=淺綠色 B=淡淺綠色
    4=紅色 C=淡紅色
    5=紫色 D=淡紫色
    6=黃色 E=淡黃色
    7=白色 F=亮白色
    --------------------------------------

    mode con cols=200 lines=60 & color 9f 設置DOS窗口顏色為9f,大小:200行 60列(若屏幕緩沖區大小的寬度w<200或高度h<60,最終DOS的窗口就會為w行,h列)

    chcp 查看命令行環境字符編碼(為一個全局設置)

    936 -- GBK(一般情況下為默認編碼)
    437 -- 美國英語
    65001 -- utf-8
    1200 -- utf-16
    1201 -- utf-16(Big-Endian)
    12000 -- utf-32
    12001 -- utf-32(Big-Endian)

    注:cmd的屬性窗口,選項標簽頁也可以查看當前代碼頁

    chcp 936 // 設置當前命令行環境編碼為GBK 執行完該命令后還需要將字體設置為點陣字體,才能真正將編碼環境切成utf8

    chcp 65001 // 設置當前命令行環境編碼為utf8 執行完該命令后還需要將字體設置為Lucida Console,才能真正將編碼環境切成utf8

    在注冊表中會寫入這些字段信息:

    systeminfo 查看當前計算機的綜合信息

    systeminfo | findstr /i "初始安裝日期 系統啟動時間" 只查看當前計算機的初始安裝日期和系統啟動時間

    wmic 查看硬件的信息 -- C:\Windows\System32\wbem\WMIC.exe

    例:wmic logicaldisk // 查看計算機上各個盤的相關信息

    例:wmic LogicalDisk where "Caption='C:'" get FreeSpace,Size /value // 獲取C盤的剩余空間大小與總大小(單位:Byte)

    例:wmic os get Caption,InstallDate,OSArchitecture /value // 獲取當前os的Caption、安裝日期以及系統架構信息

    wmic 查看進程信息

    例:wmic process where Caption="buyticket.exe" get commandline,ExecutablePath,ProcessId,ThreadCount /value // 查看名為"buyticket.exe"所有進程命令行,exe全路徑,PID及線程數

    例:wmic process where Caption="buyticket.exe" get ExecutablePath,HandleCount /value // 查看名為"buyticket.exe"所有進程的exe全路徑及當前打開的句柄數

    例:wmic process where Caption="buyticket.exe" get ExecutablePath,VirtualSize,WorkingSetSize /value // 查看名為"buyticket.exe"所有進程的exe全路徑、當前虛擬地址空間占用及物理內存工作集

    logoff 注銷當前用戶

    shutdown 關閉、重啟、注銷、休眠計算機

    例:shutdown /s // 關閉計算機

    例:shutdown /s /t 3600 // 一小時后,關閉本地計算機

    例:shutdown /a // 終止系統關閉

    例:shutdown /r // 關閉并重啟本地計算機

    例:shutdown /m 192.168.1.166 /r // 關閉并重啟ip為192.168.1.166的計算機

    +++++++++++++++++++++

    遠程關機權限的獲取:
    1)修改遠程pc的“本地安全策略”,為指定的用戶開放權限
    在WindowsXP默認的安全策略中,只有Administrators組的用戶才有權從遠端關閉計算機,如果要給xxxx用戶遠程關機的權限。
    可利用WindowsXP的“組策略”或“管理工具”中的“本地安全策略”來實現。
    1.命令行運行gpedit.msc打開“組策略編輯器“;
    2.導航到“計算機配置/Windows設置/安全設置/本地策略/用戶權利指派”;
    3.修改“從遠端系統強制關機”,添加xxxx用戶即可。

    2)獲得遠程IPC管理權限
    如果配置第一步后還出現“拒絕訪問。”,則需要在運行shutdown命令前先運行如下命令
    net use \[ip地址或計算機名]\ipc$ password /user:xxxx
    其中password為帳號xxxx的登錄密碼。

    +++++++++++++++++++++

    例:shutdown /g // 關閉并重啟計算機,重啟后重新啟動所有注冊的應用程序

    例:shutdown /l // 注銷本地計算機

    例:shutdown /h /f // 休眠本地計算機(強制正在運行的應用程序關閉,不前臺警告用戶)

    例:shutdown /s // 關閉計算機

    regsvr32 注冊或反注冊com組件

    例:regsvr32 /s clock.ocx // 以無聲的方式注冊clock.ocx組件

    例:regsvr32 /u myCommon.dll // 卸載myCommon.dll組件

    format 格式化磁盤

    例:format J: /FS:ntfs // 以ntfs類型格式化J盤 【類型有:FAT、FAT32、exFAT、NTFS或UDF】

    例:format J: /FS:fat32 /Q // 以fat32類型快速格式化J盤

    chkdsk /f D: // 檢查磁盤D并顯示狀態報告;加參數/f表示同時會修復磁盤上的錯誤

    subst 磁盤映射 -- 磁盤映射信息都保存在注冊表以下鍵值中:HKEY_CURRENT_USER\Network

    例:subst // 顯示目前所有的映射

    例:subst z: \com\software // 將\com\software共享映射為本地z盤

    例:subst y: e:\src // 將e:\src映射為本地y盤

    例:subst z: /d // 刪除z盤映射

    cmdkey 憑據(保存的用戶名和密碼)

    例:cmdkey /list // 列出可用的憑據

    例:cmdkey /list:10.12.190.82 // 列出指定目標的憑據

    例:cmdkey /list:Domain:target=10.12.190.82 // 列出指定目標的憑據

    例:cmdkey /add:Domain:target=10.12.190.82 /user:LiLei /pass:123456 // 若target為10.12.190.82的憑據不存在,則添加;否則就將10.12.190.82憑據的用戶名修改為LiLei,密碼修改為123456

    例:cmdkey /delete:Domain:target=10.12.190.82 // 刪除指定目標的憑據

    cscript 執行vbs腳本

    例:cscript /Nologo mac.vbs // 執行mac.vbs腳本,顯示本機mac地址

    -------mac.vbs----------

    Dim mc,mo
    Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
    For Each mo In mc
    If mo.IPEnabled=True Then
    MsgBox "本機網卡MAC地址是: " & mo.MacAddress
    Exit For
    End If
    Next

    --------------------------

    schtasks 任務計劃

    例:schtasks /query /fo LIST /v // 以較為詳細易于閱讀的格式顯示本機所有任務計劃信息

    例:schtasks /create /sc minute /mo 20 /tn "Soda Build" /tr d:\check.vbs // 創建一個名為Soda Build的任務計劃:該任務計劃每20分鐘執行一下d:\check.vbs腳本

    例:schtasks /create /tn "Soda Build" /tr D:\updateall.bat /sc daily /st 02:06 /f // 強制創建一個名為Soda Build的任務計劃(不進行確認):該任務計劃每天凌晨2點06分執行一下D:\updateall.bat腳本

    例:schtasks /delete /tn "Soda Build" /f // 強制刪除Soda Build名稱的任務計劃(不進行確認)

    例:schtasks /change /tn "Soda Build" /tr d:\check2.vbs // 將名為Soda Build的任務計劃的執行腳本修改為d:\check2.vbs

    例:schtasks /run /tn "Soda Build" // 執行名為Soda Build的任務計劃

    例:schtasks /end /tn "Soda Build" // 終止執行名為Soda Build的任務計劃

    6. net命令

    net start // 查看已經啟動的服務

    net start "Task Scheduler" // 開啟任務計劃服務

    net stop "Task Scheduler" // 關閉任務計劃服務

    net start dnscache // 開啟dns緩存服務

    net stop dnscache // 關閉dns緩存服務

    net share // 查看當前用戶下的共享目錄

    net share workFile /delete // 取消名為workFile的共享狀態

    net share xxx=c:0Downloads // 將c:0Downloads設為共享,并取名為xxx

    net share ipc$ // 開啟ipc$共享

    net share ipc$ /del // 刪除ipc$共享

    net share c$ /del // 刪除c盤共享

    net use \192.168.1.166\ipc$ " " /user:" " // 建立192.168.1.166的ipc空鏈接

    net use \192.168.1.166\ipc$ "123456" /user:"administrator" // 直接登陸后建立192.168.1.166的ipc非空鏈接(用戶名為administrator 密碼為123456)

    net use h: \192.168.1.166\c$ "123456" /user:"administrator" // 直接登陸后映射192.168.1.166的c盤到本地為h盤(用戶名為administrator 密碼為123456)

    net use h: \192.168.1.166\c$ // 登陸后映射192.168.1.166的c盤到本地為h盤

    net use \192.168.1.166\ipc$ /del // 刪除ipc鏈接

    net use h: /del // 刪除本地的h盤的映射

    net view // 查看本地局域網內開啟了哪些共享

    net view \192.168.1.166 // 查看192.168.1.166的機器上在局域網內開啟了哪些共享

    net time \127.0.0.1 // 查看本地機器的日期及時間

    net time \localhost // 查看本地機器的日期及時間

    net time \192.168.1.166 // 查看192.168.1.166機器的日期及時間

    net time \192.168.1.166 /set // 設置本地計算機時間與192.168.1.166主機的時間同步,加上參數/yes可取消確認信息

    net user // 查看當前機器上的用戶

    net user Administrator // 查看當前機器上的Administrator用戶的信息

    net user Guest /active:yes // 啟用Guest用戶

    net user dev 123456 /add // 新建一個名為dev,密碼為123456的用戶

    net localgroup administrators dev /add // 把名為dev的用戶添加到管理員用戶組中,使其具有管理員權限

    net user dev /del // 刪除名為dev的用戶

    7. 進程操作

    tasklist // 顯示當前運行的進程信息(可查看PID)

    taskkill 結束指定的進程

    例:taskkill /im notepad.exe // 結束名為notepad.exe的進程

    例:taskkill /pid 1230 /pid 1241 /pid 1253 /t // 結束pid為1230、1241和1253的進程以及由它們啟動起來的子進程

    例:taskkill /f /im cmd.exe /t // 強制結束有名為cmd.exe的進程以及由它啟動起來的子進程

    8. 網絡操作

    ping // 用于檢測網絡是否通暢,以及網絡時延情況(工作在ICMP協議上)

    例:ping baidu.com // 測試與baidu服務器的連接情況

    例:ping chen-pc0 // 測試機器名為chen-pc0的連接情況

    例:ping 220.181.111.86 // 測試與ip為220.181.111.86的連接情況

    例:ping -l 65500 -n 10 qq.com // 向qq.com發送10次65500字節的ping

    例:ping -n 6 127.0.0.1 // 對當前主機執行6次ping操作(花費時間為5s)

    例:ping -t baidu.com // 不斷地測試baidu服務器的連接情況 Ctrl+Pause Break:查看ping的統計信息;Ctrl+C:終止當前任務

    a. 首先查本地arp cache信息,看是否有對方的mac地址和IP地址映射條目記錄
    b. 如果沒有,則發起一個arp請求廣播包,等待對方告知具體的mac地址
    c. 收到arp響應包之后,獲得某個IP對應的具體mac地址,有了物理地址之后才可以開始通信了,同時對ip-mac地址做一個本地cache
    d. 發出icmp echo request包,收到icmp echo reply包

    ipconfig /all // 查看本地ip地址等詳細信息

    ipconfig /displaydns // 顯示本地dns緩存的內容

    ipconfig /flushdns // 清除本地dns緩存的內容

    nslookup www.cnblogs.com // 獲取www.cnblogs.com的域名解析

    服務器: gm-captiva.tencent.com//DNS服務器的主機名
    Address: 10.6.18.41//DNS服務器IP

    非權威應答:
    名稱: www.cnblogs.com//解析的域名URL
    Address: 42.121.252.58//解析回的IP

    nslookup -d www.cnblogs.com // 打印出www.cnblogs.com的域名解析所有記錄

    netstat -a // 查看開啟了哪些端口

    netstat -n // 查看端口的網絡連接情況

    netstat -v // 查看正在進行的工作

    netstat -p tcp // 查看tcp協議的使用情況

    tracert 182.140.167.44 // 查看本機到達182.140.167.44的路由路徑

    route print // 顯示出IP路由

    telnet 182.140.167.44 8000 // 探測182.140.167.44是否使用TCP協議監聽8000端口(注意:telnet命令不支持UDP端口檢測)

    說明:如果端口關閉或者無法連接,則顯示不能打開到主機的鏈接,鏈接失敗;端口打開的情況下,鏈接成功,則進入telnet頁面(全黑的),證明端口可用。

    用于探測指定IP的端口號,只是telnet的一個基本功能;

    遠程登錄到網絡中的計算機,并以命令行的方式遠程管理計算機才是telnet命令的強大之處。

    windows telnet服務器(默認端口:23)環境配置過程如下參考1

    a. 安裝telnet服務器

    b. 啟動Telnet服務

    c. 關閉windows防火墻 注:若不想關閉防火墻,則需要在Windows防火墻 -- 高級設置里面對Telnet服務器的訪問規則進行配置

    ftp 46.19.34.198 21 // 連接46.19.34.198 ftp服務器(21為端口號),然后會要求輸入用戶名與密碼;連接成功后,具體如何使用可以鍵入?來查看幫助說明

    arp 顯示和修改地址解析協議(ARP)使用的“IP到mac”的地址轉換表

    例:arp -a // 顯示arp緩存表

    at 計劃任務(必須保證“Task Scheduler”服務啟動 net start "task scheduler"

    例:at // 查看所有的計劃任務

    例:at /delete /yes // 停止所有任務計劃(不需要確認)

    例:at 1 // 開啟id為1的計劃任務

    例:at 1 /delete /yes // 停止id為1的計劃任務(不需要確認)

    例:at 12:42 shutdown –s –t30 // 到12:42 ,電腦會出現“ 系統關機 ”對話框,并默認 30 秒延時自動關機

    例:at cmd /c dir > c:\test.out // 如果命令不是exe文件,必須在命令前加上cmd /c

    例:at 6:00AM /every:Saturday task.bat // 在每周六早上6點,電腦定時啟動task.bat批處理文件

    例:at \chen 12:00 shutdown /r // 到12:00時,關閉名為chen的計算機

    例:at \192.168.1.166 12:00 shutdown /r // 到12:00時,關閉ip為192.168.1.166的計算機

    9. 文本處理

    edit config.ini // 編輯config.ini文件(會進入edit字符編輯器;按alt,可以選擇對應的菜單) win7 x64下沒有該命令

    find 文件中搜索字符串

    例:find /N /I "pid" 1.txt // 在1.txt文件中忽略大小寫查找pid字符串,并帶行號顯示查找后的結果

    例:find /C "exe" 1.txt // 只顯示在1.txt文件中查找到exe字符串的次數

    例:find /V "exe" 1.txt // 顯示未包含1.txt文件中未包含exe字符串的行

    findstr 文件中搜索字符串

    例:findstr "hello world" 1.txt // 在1.txt文件中搜索hello或world

    例:findstr /c:"hello world" 1.txt // 在1.txt文件中搜索hello world

    例:findstr /c:"hello world" 1.txt nul // 在1.txt文件中搜索hello world,并在每行結果前打印出1.txt: 注:findstr只有在2個及以上文件中搜索字符串時才會打印出每個文件的文件名,nul表示一個空文件

    例:findstr /s /i "Hello" *.* // 不區分大小寫,在當前目錄和所有子目錄中的所有文件中的hello

    例:findstr "^[0-9][a-z]" 1.txt // 在1.txt中搜索以1個數字+1個小寫字母開頭子串的行

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有