我在一个超过8.3的目录“D:\批处理2024.01.15\”运行一个批处理,批处理最前面是提权,提权后echo %~dp0变成“D:\批处理~1.15\”。- cls
- %1 start /min "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
- @echo off
- cd /d %~dp0
- set mulu=%~dp0
- echo %mulu%
- set riqi=%mulu:~6,-1%
- echo %riqi%
- pause
复制代码 只要注释掉提权那一句,获取到的目录名就是完整的,这种情况该怎么解决? |