bat批處理運用


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

1.Echo 命令 –顯示

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

語法:

echo [{on│off}] [message]

Sample:@echo off / echo hello world

Pause  //用pause才能使窗體停止

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

 

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

copy 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 擴展名。
 
參考:windows bat腳本編寫

二、在Windows批處理文件中引用日期和時間的方法

1、 %DATE% 輸出的是: yyyy/mm/dd  星期* (例如:2008/12/18 星期四) 
引用格式:%DATE:~x,y% 
x=起始坐標,y=從x開始截取字符個數

如: 
%DATE:~0,4% --> yyyy 
%DATE:~5,2% --> mm 
%DATE:~8,2% --> dd

如取出格式為 YYYYMMDD 的日期:%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%     -->20081218

2、 %TIME% 輸出的是:hh24:mi:ss.ms (例如:10:49:12.17) 
引用格式:%TIME:~x,y% 
x=起始坐標,y=從x開始截取字符個數

如: 
%TIME:~0,2% --> hh 
%TIME:~3,2% --> mi 
%TIME:~6,2% --> ss

如取出格式為 HHMMSS 的時間:%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%     -->104912

輸出格式化后的日期時間:%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%     -->20081218104912

參考:在Windows批處理文件中引用日期和時間的方法

三、bat腳本自動創建文件夾

示例:利用bat腳本進行wireshark抓包時 自動創建一系列文件

@Rem 文件以管理員權限運行

@echo off

set prefix=E:\pcaplog\

set suffix=.pcap

set xiegan=\

:loop

@Rem 需要切換到tshark.exe的目錄下

cd C:\Program Files (x86)\Wireshark\

@Rem date:~0,4 從0位置開始的4個字符,2017/10/16 注意斜杠

set h=%TIME:~0,2%

If %h% leq 9 (Set h=0%h:~1,1%)

set timestr=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,2%%time:~6,2%

set daystr=%date:~0,4%%date:~5,2%%date:~8,2%

mkdir "%prefix%%daystr%    @若文件夾已存在,則不會創建

 

set dest=%prefix%%daystr%%xiegan%%timestr%%suffix%

@Rem tshark或者tshark.exe。eth0是網卡的名字,需要將“本地連接”重命名為eth0

 

@Rem tshark -i eth0 -s 0 -c 3000 -w %dest%

tshark -i eth0 -s 0 -c 5000 -w %dest%

goto:loop

pause
View Code

 


免責聲明!

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



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