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"

批处理文件(bat)网络网卡IP切换

单网卡内外网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

git

git自动提交

set mytime=%date% %time: =0% - 自动提交
set nowpath=%~dp0
set workpath="F:\work"

echo 当前目录:%~dp0

cd %workpath% //切换目录

echo 当前目录:%cd%

git status //查看未监控文件

git add . //添加未监控文件

git commit -m "%mytime%" //提交文件

exit

免密推送

密钥提交

1.执行 ssh-keygen 命令创建密钥对

ssh-keygen -t rsa -C "邮箱地址"

一直按回车,生成文件在当前用户下.ssh
有后缀.pub是公钥,没有是密钥
ssh-keygen运行结果

2.运行:cat ~/.ssh/id_rsa.pub;查看内容并且复制内容到服务器的密钥文本(也可用文本打开)

cat ~/.ssh/id_rsa.pub

运行结果如下
在这里插入图片描述

3.复制内容到服务端公钥,添加即可
在这里插入图片描述
4.在复制ssh的地址,添加进去;

git remote add origin_ssh git@172.16.101.187:gitea/test20230620.git

5.推送

git push -u origin_ssh master

6.删除origin远端配置

git remote rm origin

免密推送

来源:https://www.cnblogs.com/ballwql/p/3462104.html

1.方法一

1.1 添加Git Config 内容

进入git bash终端, 输入如下命令:

git config --global credential.helper store //全局
git config credential.helper store //当前仓库

执行完后查看%HOME%目录下的.gitconfig文件,会多了一项:

[credential]
helper = store

git push -u origin_ssh master //上传

上传一次输入正确的账户密码
以后都不用密码
在用户根目录下有.git-credentials文件


2.方法二(未用过)

2.1 添加环境变量

在windows中添加一个HOME环境变量,变量名:HOME,变量值:%USERPROFILE%

2.2 创建git用户名和密码存储文件

进入%HOME%目录,新建一个名为"_netrc"的文件,文件中内容格式如下:

machine {git account name}.github.com
login your-usernmae
password your-password
重新打开git bash即可,无需再输入用户名和密码


创建中央仓库

在存储仓库文件夹下输入命令

git init --bare work.git

克隆输入地址

git clone E:\gitServer\work.git

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

@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

其他

attrib +h +s F:\1 //隐藏文件
exit

attrib +h -s F:\1 //取消隐藏文件
exit

shutdown -s -f -t 1800 //半小时结束程序关机
exit

echo 正在从DHCP自动获取IP地址...
netsh interface ip set address %NAME% dhcp //动态地址获取

ping -n 3 127.0.0.1>nul //延迟3秒
TIMEOUT /T 10 //延迟10秒

rem 中文乱码,修改为UTF-8
chcp 65001 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值