部分Windows批處理指令碼整理
在工作中有時候在Windows平臺需要使用到批處理指令碼進行一些定期的任務,來達到與UNIX平臺SHELL指令碼的功能,下面整理了幾個工作中用到的指令碼。
收集Java程式記憶體的記憶體使用情況
set nowtime=%date:~0,10% %time%
@echo %nowtime% >>D:\scripts\java_memo_mon.txt
tasklist |findstr java >>D:\scripts\java_memo_mon.txt
ping 123.45.67.89 -n 1 -w 1200000
@echo ------------------------------ >>D:\scripts\java_memo_mon.txt
使用tasklist命令可以檢視所有windows程式的記憶體使用情況及程式號,findstr有類似於UNIX平臺上grep的功能
只是windows平臺上沒有sleep類似的命令,因此只能取巧使用ping 123.45.67.89 -n 1 -w 1200000這個命令.
ping一個無效的IP地址
-w引數意思為等待每次回覆的超時時間,單位為毫秒
-n引數指要傳送的回顯請求數
ping 123.45.67.89 -n 1 -w 1200000 計算下來即等於等待20分鐘
******************************
刪除歷史檔案(此示例中為刪除380天以前的*.rar檔案)
set nowtime=%date:~0,10% %time%
@echo %nowtime% >>D:\backup\scripts\SQL_DATA_backup_del.log
forfiles /p D:\backup\SQL_DATA /s /m "*.rar" /d -380 >>D:\backup\scripts\SQL_DATA_backup_del.log
forfiles /p D:\backup\SQL_DATA /s /m "*.rar" /d -380 /c "cmd /c del @path"
@echo -------------------------------------------------- >>D:\backup\scripts\SQL_DATA_backup_del.log
使用forfiles命令,是Windows中類似UNIX/Linux中的find命令
/p引數指搜尋的路徑,本例中查詢D:\backup\SQL_DATA目錄
/s引數指遞迴,遞迴到每個子目錄
/m引數匹配搜尋的條件,預設為全部匹配即"*",示例中為"*.rar"
/d引數指檔案的上次修改時間,可以選擇具體日期前後(+/-)修改的檔案;也可以選擇當前時間減"dd"天。示例中意思為在380天前修改的檔案
/c引數後面指執行什麼樣的命令,示例中執行刪除命令
******************************
備份SQLServer資料庫的指令碼,採用了for迴圈,核心的是使用sqlserver中的osql命令
rem @echo off
set svr=sqldb
set svrrole=bozch
set nowtime=%date:~0,10% %time%
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set today=%year%-%month%-%day%
if "%time:~0,1%" == " " (set nowh=%time:~1,1%) else (set nowh=%time:~0,2%)
set rar="d:\Program Files\WinRAR\winRar.exe"
set rarlist="d:\backup\scripts\rarlst.txt"
set ftplist="d:\backup\scripts\ftplst.txt"
set baklog=d:\backup\scripts\tkblbackup.log
@echo. >> %baklog%
@echo -------------------------------------------------- >> %baklog%
@echo %nowtime% BackupScript is starting....... >> %baklog%
::資料庫備份語句,可新增多個資料庫
for %%a in (AVASOL AVA_EBS XM) do (
@echo %nowtime% BackupDB %%a is beginning....... >> %baklog%
@osql -s localhost -U sa -P circ0620 -Q "backup database %%a to disk='D:\backup\SQL_DATA\%%a_%svr%_%today%.bak' with init" >> %baklog%
@echo. >>%baklog%
::Rar files
%rar% a -as -r -ep1 -ibck -df d:\backup\SQL_DATA\%%a_%svr%_%today%.bak.rar d:\backup\SQL_DATA\%%a_%svr%_%today%.bak >> %baklog%
)
:: cd /d d:\backup\SQL_DATA
:: del *.bak
::echo. > %rarlist%
@echo -------------------------------------------------- >> %baklog%
@echo. >> %baklog%
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1087776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- windows 批處理備份目錄指令碼Windows指令碼
- bat批處理常用指令碼BAT指令碼
- 批處理指令碼來修復並開啟Windows 7中的Windows Defender防火牆指令碼Windows防火牆
- rem 新建分類整理資料夾的批處理指令碼 2024年6月12日REM指令碼
- Windows Ping的結果顯示每次ping的時間的bat批處理指令碼WindowsBAT指令碼
- Windows登錄檔中修改UAC(使用者賬號控制)及批處理指令碼Windows指令碼
- 開啟windows批處理大門Windows
- 寫個批處理指令碼來幫忙幹活---遍歷資料夾&字串處理指令碼字串
- 07 Windows批處理之檔案操作Windows
- 批處理 壓縮zip 並過濾部分檔案
- Windows10系統優化(批處理)Windows優化
- Windows批處理中的變數和值Windows變數
- 批處理指令碼:遞迴移動資料夾內所有檔案指令碼遞迴
- 這些自動化場景,批處理指令碼完全可以取代 Python指令碼Python
- [20180319]windows批處理檔案大小比較.txtWindows
- Windows 批處理之DATE命令的使用方法Windows
- 修改windows遠端桌面連線埠-批處理Windows
- [20190219]變態的windows批處理6.txtWindows
- 04 Windows批處理中的條件執行Windows
- [20211207]變態的windows批處理10.txtWindows
- [20211011]變態的windows批處理9.txtWindows
- [20230208]windows批處理檢測隨身碟.txtWindows
- [20210510]變態的windows批處理7.txtWindows
- 幾種方法命令列 批處理 指令碼 已經涵蓋了常見的設定 Windows 7 音量的方式命令列指令碼Windows
- yai 請求預處理指令碼AI指令碼
- Linux 使用 shell 指令碼處理字串Linux指令碼字串
- 批處理概述
- Redis 叢集到底支援不支援批處理指令MGET等Redis
- 10 Windows批處理之呼叫例程和bat檔案WindowsBAT
- python指令碼處理偽靜態注入Python指令碼
- ORACLE問題處理十個指令碼Oracle指令碼
- 指令碼處理iOS的Crash日誌指令碼iOS
- Bash 指令碼中的錯誤處理指令碼
- 09 Windows批處理之標籤和無序執行Windows
- 08 Windows批處理之執行編譯後的程式Windows編譯
- cmd批處理無法使用 提示windows找不到檔案Windows
- 使用批處理指令碼修改指定資料夾(可包含子目錄)中的檔名字尾指令碼
- 3、python指令碼處理偽靜態注入Python指令碼
- Shell指令碼逐行處理文字檔案技巧指令碼