Windows系统下常用Bat命令
一、批量提取指定文件到某一目录下
在需要批量提取指定文件的目录下新建一个以".bat"为后缀的文件,并用记事本编辑输入类似代码
例如:提取当前目录下所有以**.h**为结尾的文件到当前目录下新建的include文件夹
mkdir include
move .\*.h .\include\
pause
二、批量移动指定格式的文件到指定目录
例如:批量移动当前文件夹下的以”.exe"和“.dll”后缀的文件到Release 目录
@echo on
echo "******开始移动Release库*******"
for /r %%b in (*d.exe,*d.dll) do move %%b ..\Debug
pause
三、在当前目录下新建一个文本文件: new.txt
新建一个“NewTxt.bat”文件并用记事本打开输入以下内容:
%~dp0:>new.txt
四、用系统对应的默认程序打开一个文件
新建一个“openDocumentation.bat”文件并用记事本打开输入类似内容:
例如:用记事本打开在当前文件夹下的Documentation文件中的index.txt文件
@cd Documentation
@start "" index.txt
五、自动配置本机静态IP地址
新建一个“ipset.bat”文件并用记事本打开输入类似内容:
:: 设置IP地址
set /p choice=请选择设置类型(1:静态IP / 2:自动获取IP):
echo.
if "%choice%"=="1" goto ip1
if "%choice%"=="2" goto ip2
goto main
:ip1
echo IP自动设置开始...
echo.
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name="WLAN" source=static addr=192.168.1.8 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
::echo 正在设置DNS服务器
::cmd /c netsh interface ip add dnsservers name="WLAN" address=192.168.0.1 index=1
::cmd /c netsh interface ip add dnsservers name="WLAN" address=192.168.0.1 index=2
echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:ip2
echo IP自动设置开始....
echo.
echo 自动获取IP地址....
netsh interface ip set address name = "WLAN" source = dhcp
echo 自动获取DNS服务器....
netsh interface ip set dns name = "WLAN" source = dhcp
@rem 设置自动获取IP
echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:end
六、导出指定后缀的文件名称到一个新的文本文件中
例如:导入当前目录下文件后缀为*“.dll”的文件到新的dllNameLst.txt*文件中
dir *.dll /b > dllNameLst.txt
七、自动检测应用程序是否在运行,没有运行则自动启动
新建一个“AutoStartApp.bat”文件并用记事本打开输入类似内容:
备注:将示例中的应用名称*“DataServer”* 和 应用程序对应的路径* /D “D:/DataServer/” DataServer.exe*替换为实际需要
@echo off
title AutoRestart
if "%1" == "h" goto RESTART
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:RESTART
tasklist /FI "username eq vecow" | find /C "DataServer" > temp.txt
set /p num= < temp.txt
del /F temp.txt
echo %num%
if "%num%" == "0" start /D "D:/DataServer/" DataServer.exe
ping -n 10 -w 2000 0.0.0.1 > temp.txt
del /F temp.txt
goto RESTART