windows脚本

本文介绍了如何使用BAT批处理文件在Windows系统中实现网络网卡IP地址的切换,包括内外网IP的设置以及有线无线网络的互切。此外,还详细阐述了Git的自动提交和免密推送设置,包括生成SSH密钥和配置credential.helper。

开机启动地址

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

bat说明

bat执行多个程序

按照顺序执行

start "Window title" /wait cmd /c "F:\1.bat"

start "Window title" /wait cmd /c "F:\2.bat"

几乎同时执行

start "F:\1.bat"

start "F:\2.bat"

关闭命令回显‌,使脚本运行时不在窗口中显示执行的命令原文,仅输出结果 。‌

@echo off

编码转换

chcp 65001

延时自动继续

TIMEOUT /T 30

强制获取管理员权限

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

运行不显示

@echo off
if "%1"=="h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM 你的批处理文件内容

bat删除自身

del %0

电脑信息

systeminfo

电脑支持最大内存显示

wmic memphysical get maxcapacity

bat删除文件

del /f /s /q D:\001\002\*.*
rd /s /q /f  D:\001\002
cd ..\
del %0

自动关机

半小时候关机

shutdown -s -f -t 1800

半小时候重启

shutdown -r -f -t 1800

取消shutdown命令

shutdown -a

时间

获取当前时间

set mytime=%date% %time: =0% - 自动提交

文件目录操作

获取当前目录

set nowpath=%~dp0

设置目录

set workpath="F:\work"

显示输出

echo 当前目录:%~dp0
echo 当前目录:%cd%

pushd切换目录

pushd %workpath%

复制文件夹下所有文件到文件夹下all

for /f "delims=" %%a in ('dir /b/ad ') do (
copy %%a\*.* %%a\..\all\
)

取消隐藏文件夹

attrib -h -s E:\文件夹

隐藏文件夹

attrib +h +s E:\文件夹

文件夹下过期100天删除

set folder="F:\"
set days=100
set /a mytime=1*30
echo %folder% 文件夹(不含子文件夹)文件大于%days%天文件删除
forfiles /P "%folder%" /M *.* /D -%days% /C "cmd /c echo @path 文件创建早于%days%天前文件删除 & cmd /c del @path"
timeout /t %mytime%

批量删除当前目录下指定格式之外的文件和文件夹

@echo off & title 批量删除当前目录下指定格式之外的文件和文件夹
cd /d "%~dp0"
::设置要排除的文件格式,多个格式之间使用英文逗号隔开
set Ext=ini,exe,bat,xls
::删除文件
for /f "delims=" %%a in ('dir /a-d/s/b') do (
	if /i not "%%~a"=="%~f0" (
		set "Skip="
		for %%i in (%Ext%) do (
			if /i ".%%~i"=="%%~xa" (
				set Skip=OK
			)
		)
		if not defined Skip (
			echo "正在删除文件%%~a"
			del /f /q "%%~a"
		)
	)
)
::删除所有文件夹
for /f "delims=" %%i in ('dir /ad /s /b') do (
	if exist "%%i" (
		echo "正在删除文件夹%%i"
		rd /s /q "%%i" >nul
	)
)
pause

复制文件

@echo off
for /f "delims=" %%a in ('dir /b/ad ') do ( //遍历当前文件夹下所有文件
copy %%a\*.* %%a\..\all\ //复制%%a\*.* 到上一级的all文件夹
)
pause

网络

单网卡内外网IP切换


批处理文件(bat)实现内外网IP切换
来源:https://blog.51cto.com/u_15127656/4535157


@echo off
rem 强制获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
rem //设置变量
set NAME="以太网"
rem //可以根据需要更改以下属性值
set ADDR=192.168.1.1
set MASK=255.255.255.0
set GATEWAY=192.168.1.254
set DNS1=59.11.99.66
set DNS2=

rem //可以根据需要更改以下属性值
set ADDR_YF=10.0.2.1
set MASK_YF=255.255.255.0
set GATEWAY_YF=10.0.2.254
set DNS1_YF=none
set DNS2_YF=


rem //以上属性为IP地址、子网掩码、网关、首选DNS和备用DNS

echo 当前可用的操作包括:

echo 1 设置外网IP

echo 2 设置研发网IP

echo 3 退出

echo 请选择你要的操作:
set /p operate=
if %operate%==1 goto 1
if %operate%==2 goto 2
if %operate%==3 goto 3


:1
echo 设置外网IP中, 请稍等...
rem //可以根据你的需要进行更改
echo IP_ADDR = %ADDR%
echo MASK = %MASK%
echo GATEWAY = %GATEWAY%
netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %GATEWAY% 
echo 首选DNS = %DNS1% 
if "%DNS1%"=="" (echo DNS1为空) else netsh interface ipv4 set dns %NAME% static %DNS1% primary
echo 备用DNS = %DNS2% 
if "%DNS2%"=="" (echo DNS2为空) else (netsh interface ipv4 add dns %NAME% %DNS2%) 
echo **********设置为外网IP成功:%ADDR%***********
pause
goto 3


:2
echo 设置研发网IP中, 请稍等...
rem //可以根据你的需要进行更改
echo IP_ADDR = %ADDR_YF%
echo MASK = %MASK_YF%
echo GATEWAY = %GATEWAY_YF%
netsh interface ipv4 set address %NAME% static %ADDR_YF% %MASK_YF% %GATEWAY_YF% 
echo 首选DNS = %DNS1_YF% 
if "%DNS1%"=="" (echo DNS1为空) else netsh interface ipv4 set dns %NAME% static %DNS1_YF% primary
echo 备用DNS = %DNS2% 
if "%DNS2%"=="" (echo DNS2为空) else (netsh interface ipv4 add dns %NAME% %DNS2_YF%) 
echo **********设置研发网IP成功:%ADDR_YF%***********
pause
goto 3


:3
exit

网卡切换

netsh interface set interface "内网" disabled
netsh interface set interface "外网" enabled
exit

网卡切换IP

Echo off

echo 手动设置IP地址
Netsh interface IP Set Addr "外网" Static 172.16.101.187 255.255.255.0 172.16.101.254

echo 手动设置DNS地址
Netsh interface IP Set dns "外网" static 202.98.192.67 primary

echo 手动设置备份DNS地址
Netsh interface IP add dns "外网" 202.98.198.167

Echo 设置成功 

Pause

windows有线无线网络互切脚本bat

来源:https://blog.csdn.net/zbx931197485/article/details/124898012

自动切换

@ echo off  
echo 正在启用超级管理员权限...   
%1 %2  
ver|find "5.">nul&&goto :st  
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof  
  
:st  
copy "%~0" "%windir%\system32\"  
echo 启用超级管理员权限成功   


@echo off 
netsh interface show interface "以太网" | find "管理状态: 已启用" >nul && (
  echo connected - disconnecting...
  netsh interface set interface "以太网" disabled 
  netsh interface set interface "WLAN" enable
  echo 当前为WLAN
) || (
  echo disconnected - connecting
  netsh interface set interface "以太网" enabled
  netsh interface set interface "WLAN" disable
  echo 当前为以太网
)

pause 
exit

选择切换

@ echo off  
echo 正在启用超级管理员权限...   
%1 %2  
ver|find "5.">nul&&goto :st  
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof  
  
:st  
copy "%~0" "%windir%\system32\"  
echo 启用超级管理员权限成功   


@echo off 
echo 本地网络与无线网络切换,请输入字符
set /p input= 本地(L) 无线(W): 
if "%input%"=="L" goto Y 
if "%input%"=="W" goto N 

:Y
echo 启用本地连接
netsh interface set interface name="WLAN" admin=DISABLED
netsh interface set interface name="以太网" admin=ENABLED
pause 
exit 

:N
echo 禁用本地连接
netsh interface set interface name="以太网" admin=DISABLED
netsh interface set interface name="WLAN" admin=ENABLED
pause 
exit

正在从DHCP自动获取IP地址…

netsh interface ip set address %NAME% dhcp //动态地址获取

网关添加临时路由

route add 0.0.0.0 mask 0.0.0.0 10.10.9.254 metric 10
route add 10.0.0.0 mask 255.0.0.0 10.10.9.254 metric 10
route print

vbs文件

vbs删除自身

Set fso = CreateObject("Scripting.FileSystemObject")
f = fso.DeleteFile(WScript.ScriptName)
WScript.Echo( WScript.ScriptName)

vbs执行程序

set shell = wscript.createObject("wscript.shell")

'第一个参数:是BAT文件的路径(用双引号包裹,确保路径中有空格时也能正确运行)。
'第二个参数:0表示隐藏窗口,1表示显示窗口
'第三个参数:False表示:不等待,顺序执行下一个,True表示脚本会等待当前BAT文件执行完毕后再继续运行下一个。

shell.Run "E:\半小时后关机.bat", 0, True




CreateObject("WScript.Shell").Run "F:\你的批处理文件.bat", 0, True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值