日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows批处理小脚本总结

發(fā)布時間:2024/3/26 windows 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows批处理小脚本总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

批處理是Windows自帶的一個腳本引擎,語法簡潔、內(nèi)置一些功能強(qiáng)大的命令,并且可以與Windows上的其他軟件進(jìn)行良好的通信。批處理能夠提供一系統(tǒng)自動化處理功能,大幅提高日常工作中的一些瑣碎重復(fù)事情的效率。

概念

批處理(Batch),顧名思義即是指批量處理。批處理是基于dos命令行,Windows默認(rèn)內(nèi)置解釋器cmd.exe的腳本語言。批處理文件默認(rèn)保存為.bat或.cmd。
批處理是基于Dos命令行,所以批處理是沒有GUI的,是運(yùn)行在命令提示符終端(Command Prompt Terminal)上的, Command Prompt Terminal也被稱為Dos Console。
批處理文件默認(rèn)的存儲格式為ANSI,即使用Windows系統(tǒng)默認(rèn)的編碼格式。

解釋器

批處理大小寫不敏感。
批處理解釋器默認(rèn)是讀取一行代碼,然后解釋執(zhí)行。
批處理解釋器如果讀取到圓括號“(”,則認(rèn)為直到下一個對應(yīng)的“)”為結(jié)束。此方式可以讓批處理解釋器一次解釋執(zhí)行多條命令。
CTRL+C退出當(dāng)前正在執(zhí)行的批處理。

常用小腳本

拷貝文件

@echo on ::遠(yuǎn)端目錄位置 set remote_dir=\\192.168.1.2\share\log ::解析日期 set dateStr=%date:~0,10%set year=%date:~0,4%set month=%date:~5,2%set day=%date:~8,2%::得到當(dāng)前app的log文件名 set app_log= app.%year%-%month%-%day%.log ::得到UI的log文件名 set ui_log= ui.%year%-%month%-%day%.log ::得到底層庫的log文件名 set base_log= base\\baseModule.%year%.%month%.%day%.log::得到分 set timeMin=%time:~3,2% ::得到秒 set timeSec=%time:~6,2%::拷貝日志文件xcopy %app_log% %remote_dir% /D/Y xcopy %ui_log% %remote_dir% /D/Y xcopy %base_log% %remote_dir% /D/Ypause

查找未占用的ip

echo off set aa= 192.168.21:: 注意=號前面不能有空格 set out_file= out_exist.txt set out_file_1= out_not_exist.txtfor /l %%i in (1,20,100) do ( echo ping %aa%.%%i ping -n 1 %aa%.%%i | findstr "TTL" >nul && echo %aa%.%%i >> %out_file% || ( echo can not reached && echo %aa%.%%i >> %out_file_1% ) ):: 這是注釋 rem "這是注釋"echo "-------------" :: 這是換行 @echo. echo ping %out_file% done!

啟動程序?

@echo off ::當(dāng)我想運(yùn)行位于“D:/draw/”的“photoshop.exe”使,應(yīng)該使用以下命令: start "" "D:/draw/photoshop.exe" ::如果想讓程序以最大化窗口運(yùn)行,則使用以下命令: ::表示以最大化窗口運(yùn)行程序 start /max "" "D:/draw/photoshop.exe" taskkill /f /im explorer.exe start "" "C:\WINDOWS\explorer.exe" exit

修改系統(tǒng)的dump文件目錄?

@echo off echo opening system autodump... reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpFolder /t REG_EXPAND_SZ /d "C:\Dumps" /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpType /t REG_DWORD /d 2 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpCount /t REG_DWORD /d 10 /f echo has open pause @echo on

根據(jù)條件執(zhí)行某命令?

@echo offif exist "..\mycmd\backup.exe" (echo "backup.exe is exist." ) ^ else (echo "backup.exe is not exist. Quit!"pause )if exist "..\conf\init.data" (echo "init.data is exist." ) ^ else (echo "init.data is not exist. Quit!"pause )start cmd /c ""%~dp0..\mycmd\backup.exe" -f %~dp0..\conf\init.data" pause@echo on

執(zhí)行js或VB腳本的mshta命令?

echo off echo "-------------" mshta "javascript:var a=1; alert(a); close();" mshta "vbscript:msgbox("content") & msgbox("1234") & window.close" mshta vbscript:window.execScript("alert('hello world!');","javascript") mshta javascript:window.execScript("msgBox('hello world!'):window.close","vbs") @echo. echo done!

bat腳本后臺執(zhí)行

@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit :begin ::下面是你自己的代碼

?后臺監(jiān)控某一進(jìn)程

@echo off if "%1" == "h" gotobegin mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit :begin ::循環(huán)后臺執(zhí)行 :start ping -n 5 127.0.0.1>nul tasklist|findstr "chrome.exe" if %errorlevel% == 0 ( echo "is running" >>aa.log ) else ( echo "is not running" >>aa.log ) goto start

errorlevel程序返回碼。

echo %errorlevel%每個命令運(yùn)行結(jié)束,可以用這個命令行格式查看返回碼用于判斷剛才的命令是否執(zhí)行成功默認(rèn)值為0,一般命令執(zhí)行出錯會設(shè) errorlevel 為1。

?開啟關(guān)閉和加入防火墻

@echo off setlocal EnableExpansion color 3e title Add MyService::開啟/關(guān)閉公共防火墻 netsh advfirewall set publicprofile state on netsh advfirewall set publicprofile state offPUSHD %~DP0 & cd /d "%~dp0" %1 %2 mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof :runasnetsh advfirewall firewall delete rule name= "myService" program="C:\Program Files (x86)\Me\MyService.exe" netsh advfirewall firewall add rule name="myService" dir=in action=allow program="C:\Program Files (x86)\Me\MyService.exe" enable=yes netsh advfirewall firewall add rule name="myService" dir=out action=allow program="C:\Program Files (x86)\Me\myService.exe" enable=yesecho myService防火墻例外添加成功 pause >nul exit

帶參數(shù)執(zhí)行的創(chuàng)建目錄和拷貝文件

@echo offIF "%2"=="" (set MYDIR=.\myDir\) ELSE (set MYDIR=%2)IF ""=="%1" (set MYSOURCEDIR=.\) ELSE (set MYSOURCEDIR=%1) echo Creating \Lib folder mkdir %MYDIR% >nul 2>nul mkdir %MYDIR%\Bin >nul 2>nul mkdir %MYDIR%\Bin\x64 >nul 2>nulxcopy /v /Y "%MYSOURCEDIR%\PRJ\Release No AirPcap\x86\wpcap.dll" %MYDIR%\Bin\ >nul xcopy /v /Y "%MYSOURCEDIR%\PRJ\Release No AirPcap\x64\wpcap.dll" %MYDIR%\Bin\x64 >nul xcopy /v /Y %MYSOURCEDIR%\Dll\Project\Release\x86\packet.dll %MYDIR%\Bin\ >nul xcopy /v /Y %MYSOURCEDIR%\Dll\Project\Release\x64\packet.dll %MYDIR%\Bin\x64 >nulecho Folder \Bin created successfullyset MYDIR= set MYSOURCEDIR=

相關(guān)解釋:

引用變量用%var%,調(diào)用程序外部參數(shù)用%1 至%9 等等。

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %為命令行傳遞給批處理的參數(shù)。
%0 批處理文件本身,包括完整的路徑和擴(kuò)展名。
%1 第一個參數(shù)。

@符號是取消本行的輸入顯示。

>nul 是屏蔽操作成功顯示的信息,但是出錯還是會顯示(即1>nul)。

2>nul 是屏蔽操作失敗顯示的信息,如果成功依舊顯示。

運(yùn)行以下代碼可以查看各個參數(shù)的含義:

@echo off echo %1 echo %~1 echo %0 echo %~f0 echo %~d0 echo %~p0 echo %~n0 echo %~x0 echo %~s0 echo %~a0 echo %~t0 echo %~z0

運(yùn)行cmd,輸入 c:\test.bat “/a” /b /c /d可以看出每個參數(shù)的含意。輸出為:

相關(guān)資源

BAT批處理基本命令總結(jié)_whik1194的博客-CSDN博客

Windows 批處理(bat)語法大全_無痕幽雨的博客-CSDN博客_bat 語法

批處理簡明教程及示例_-飛鶴-的博客-CSDN博客_批處理

BAT批處理命令詳解_Mr雪候鳥的博客-CSDN博客_批處理 /b

【bat批處理腳本命令】bat腳本命令的基本使用(保姆級圖文+實現(xiàn)代碼)_bat 換行_發(fā)現(xiàn)你走遠(yuǎn)了的博客-CSDN博客

mshta命令用法示例_DOS/BAT_腳本之家

windows 小腳本和命令行總結(jié)(方便學(xué)習(xí)和使用)_An_angel_of_joy的博客-CSDN博客

【最全的】BAT 批處理腳本教程_大漁歌_的博客-CSDN博客_bat教程

.bat批處理(八):各種形式的變量%0、%i、%%i、var、%var%、!var!的含義和區(qū)別_AlbertS的博客-CSDN博客_%%i?批處理簡明教程_蝸牛窩的博客-CSDN博客

?批處理教程_Kelvin_Ngan的博客-CSDN博客_批處理 %%j

讓bat文件后臺運(yùn)行 - Bit5566 - 博客園

批處理-從零開始(一)_Jyan_29的博客-CSDN博客_批處理

Windows 批處理(bat)語法大全、BAT批處理基本命令總結(jié)_window bat_南北極之間的博客-CSDN博客

總結(jié)

以上是生活随笔為你收集整理的windows批处理小脚本总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。