今天用批处理脚本遇到的两个问题

一、设置当前命令行路径问题:pushd “%~dp0”

Windows下批处理文件直接打开时当前命令行路径就是当前目录,而右键用管理员权限打开时命令行默认路径时System32,此时要获取当前批处理文件的路径需要使用%~dp0,几个常用的目录路径如下:

当前盘符:%~d0
当前路径:%cd%
当前执行命令行:%0
当前bat文件路径:%~dp0
当前bat文件短路径:%~sdp0

如果批处理文件作用是处理当前目录下的文件,要兼容这两种打开方式,可以在之前加上语句:pushd “%~dp0”,把当前命令行路径设置到批处理文件所在的目录,加上引号时为了兼容路径中有空格的情况。

二、中文显示乱码问题

批处理可能因为其中含有中文路径或文件名显示为乱码而执行失败,这要求在保存批处理文件时编码类型选择为ASCII(记事本默认格式)或GBK格式,改变编码格式后再执行成功。

原文地址:https://www.cnblogs.com/doit8791/p/8094599.html