Bat批处理脚本--常用命令

本文介绍了批处理脚本中的一些高级技巧,包括如何关闭命令回显、以管理员权限运行、切换目录、获取当前时间戳、使用逻辑运算符以及跳过UAC。还分享了如何利用Java执行exe和快捷方式,以及删除日志文件的方法。内容涵盖了批处理脚本在系统管理和自动化操作中的实用技能。
摘要由CSDN通过智能技术生成

⚽⚽如果巅峰留不住⚽⚽

🏀🏀那就进厂包吃住🏀🏀

经验分享1:Bat脚本启动jar包,不显示黑窗口.
经验分享2:Bat批处理脚本.
经验分享3:Windows Server 开机启动jar.
经验分享4:jar包将文件移到C盘Failed.

1.注释

  • 1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
  • 2、rem 注释内容(不能出现重定向符号和管道符号)
  • 3、echo 注释内容(不能出现重定向符号和管道符号)〉nul
  • 4、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\StormPlayer
echo this is test
pause

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\StormPlayer
echo this is test
pause

5.获取当前日期的时间戳

@echo off
set "$=%temp%\Spring"
>%$% Echo WScript.Echo((new Date()).getTime())
for /f %%a in ('cscript -nologo -e:jscript %$%') do set timestamp=%%a
del /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链接: https://github.com/XIU2/UACWhitelistTool/releases.
国内下载蓝奏云链接: https://pan.lanzoui.com/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 block
            e.printStackTrace();
        }
    }

7.2用java运行快捷方式(lnk)

    @Test
    void 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 off
rem specifical file path
set SrcDir=f:\Test\1\
rem day
set DaysAgo=1
echo delete all log below this directory
forfiles /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"

9.慢慢记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百世经纶『一页書』

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值