Bat批处理脚本
⚽⚽如果巅峰留不住⚽⚽🏀🏀那就进厂包吃住🏀🏀1.注释2.@echo off3.以管理员权限运行4.cd command5.获取当前日期的时间戳6.逻辑运算符7.跳过UAC8.删除日志9.慢慢记录⚽⚽如果巅峰留不住⚽⚽
🏀🏀那就进厂包吃住🏀🏀
经验分享1:Bat脚本启动jar包,不显示黑窗口.
经验分享2:Bat批处理脚本.
经验分享3:Windows Server 开机启动jar.
经验分享4:jar包将文件移到C盘Failed.
1.注释
1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)2、rem 注释内容(不能出现重定向符号和管道符号)3、echo 注释内容(不能出现重定向符号和管道符号)〉nul4、if not exist nul 注释内容(不能出现重定向符号和管道符号)5、:注释内容(注释文本不能与已有标签重名)6、%注释内容%(可以用作行间注释,不能出现重定向符号和管道符号)7、goto 标签 注释内容(可以用作说明goto的条件和执行内容)8、:标签 注释内容(可以用作标签下方段的执行内容)
2.@echo off
@echo off的意思是关闭回显,不显示正在执行的批处理命令及执行的结果等。
注:前几次测试代码的时候要注释掉这行,待程序跑顺了再打开。
3.以管理员权限运行
1.1将下面的命令置顶
@echo off%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close) && exit
4.cd command
1.如果bat script在D盘,要cd到E盘/C盘
切记:直接cd是跑不通的
c:cd C:\Program Files (x86)\Baofeng\StormPlayerecho this is testpause
2.以管理员权限运行,在C盘内切换
@echo off%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close) && exit:: 如果想回到盘符顶cd ../../.. (或者) cd /cd C:\Program Files (x86)\Baofeng\StormPlayerecho this is testpause
5.获取当前日期的时间戳
@echo offset "$=%temp%\Spring">%$% Echo WScript.Echo((new Date()).getTime())for /f %%a in ('cscript -nologo -e:jscript %$%') do set timestamp=%%adel /f /q %$%echo %timestamp%
6.逻辑运算符
&可以用到多条命令的连接符号,顺序执行,即无论前面命令是否报错,都会顺序执行,
Demo1:3条都会执行start command 1 & start command 2 & start command 3
&&连接符会带有逻辑判断,只有前面命令执行成功了,才会执行其后的命令,执行失败的命令之后的其他任何命令都不会被执行。
Demo2:一旦有错,停止执行start command 1 && start command 2 && start command 3......
||连接符可以同时执行多条命令,无论有多少个命令并存,只要多条命令中有一个命令被正确执行,其他的任何命令都不会被执行,即使是正确的
Demo3:一旦执行成功一个,后面的都不执行start command 1 || start command 2 || start command 3......
7.跳过UAC
用户账户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。
即普通账户提升为管理员进行一系列操作,就会弹窗提示。
感谢博主开源,好人一生平安。哈哈。菜鸟膜拜
原文链接: UAC 白名单的小工具.
Github链接: /XIU2/UACWhitelistTool/releases.
国内下载蓝奏云链接: /b073m0dne.
我的是Bat Script,就比价麻烦,先创建快捷方式,添加到UAC白名单
添加成功后,会出现一个以noUAC开头的新图标
7.1用java运行exe,bat
public void executeBat() {try {Runtime mt = Runtime.getRuntime();String cmd = "E:\\ImportMetapediaCMD\\noUAC.CreateMetapedia.exe";Process pro = mt.exec(cmd);pro.waitFor();} catch (IOException ioe) {ioe.printStackTrace();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
7.2用java运行快捷方式(lnk)
@Testvoid test() {try {Process pro = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " +"E:\\Re-Architecture\\test.lnk");pro.waitFor();// String cmd = "E:\\Re-Architecture\\test.lnk";}catch (Exception e){e.printStackTrace();}}
8.删除日志
1.删除指定目录
::@echo offrem specifical file pathset SrcDir=f:\Test\1\rem dayset DaysAgo=1echo delete all log below this directoryforfiles /p %SrcDir% /s /m *.xlsx /d -%DaysAgo% /c "cmd /c del @path"//单纯一点::删除指定目录下7天前的文件(目录为C:\test):::forfiles /p c:\test /s /m *.* /d -7 /c "cmd /c del @path"
2.删除Bat脚本同级目录下的文件
::删除批处理文件当前目录下7天前的文件:::forfiles /p %~dp0 /s /m *.* /d -7 /c "cmd /c del @path"