• 写批处理时遇到的问题及解决方法


    前几天写了一个批处理的小脚本,之前没接触过踩了几个坑,属于是 fuzz 编程了:)

    一、bat 运行错误弹出黑框提示

    脚本需要执行一些命令,但是有的命令无法获取返回信息,此时 bat 运行错误会弹出黑框提示。

    解决方法:

    脚本最前面加几行代码

    if "%1"=="hide" goto CmdBegin
    start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
    :CmdBegin

    二、关闭所有命令(包括本身这条命令)的回显

    @echo off

    三、控制台结果不能直接赋值给变量

    bat 的变量在直接获取控制台命令回显时不支持换行,只可以获取第一行或最后一行,并且 bat 变量最多只可以存储 8190 个字符,所以这里使用数组获取命令执行结果,需要先启用延迟环境变量扩展

    setlocal EnableDelayedExpansion
    set "cpu_cnt=0"
    for /F "delims=" %%f in ('wmic cpu get name ^, processorid') do (
        set /a cpu_cnt+=1
        set "cpu[!cpu_cnt!]=%%f"
    )
    (for /L %%n in (1 1 !cpu_cnt!) DO echo !cpu[%%n]!)

    四、cmd 下运行 powershell 命令

    PowerShell -Command "& {powershell 命令}"

    五、windows 下计算文件 md5 值

    win10 以下两种方法都可以,但是测试时发现 win7 第二种方法不适用

    1.certutil -hashfile C:\Windows\Temp\1.txt MD5
    2.PowerShell -Command "& {Get-FileHash C:\Windows\Temp\1.txt -Algorithm MD5| Format-List}"

    参考文章:

    https://blog.csdn.net/weixin_42929607/article/details/109293145

    https://www.thinbug.com/q/31035636

  • 相关阅读:
    seaborn可视化NOTE
    快速入门pandas
    protege下载安装使用
    用上Latex实现编辑伪代码
    决策树可视化
    关于时间
    地理三维模型制作
    Python使用记录
    编码格式
    素数生成算法小结
  • 原文地址:https://www.cnblogs.com/wkzb/p/15994629.html
Copyright © 2020-2023  润新知