[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 在含有特殊字符的文件夹执行含有空格文件名的批处理,无法以管理员权限运行

本帖最后由 fly9902 于 2022-9-13 09:36 编辑

如题:

例如     D:\@x265Encode\安装设置 - 复制.bat

文件夹含有@,批处理文件名含有空格,这两个条件同时具备的时候
这个批处理就无法获取以管理员权限运行,表现为一跳而过,后面的任何命令都无法执行,但如果去掉获取管理员权限的命令,后面的命令式可以正常执行的



@Echo OFF
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~dpnx0"" ::","","runas",1)(window.close)&&exit cd /d "%~dp0"



或者


@Echo OFF
setlocal EnableDelayedExpansion
Pushd %~dp0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas


都无法运行,求教

回复  fly9902


请参考Q-04把bat文件保存为ANSI编码:


你用的系统是Win7还是Win10?试试这样可以 ...
Batcher 发表于 2022-9-13 10:58



   
批处理是ANSI编码的,操作系统是win11 22621.382,换你这个还是不行,一跳而过,都等不到pause让你暂停

TOP

回复  fly9902

同版本系统,测试正常。
yakeyun 发表于 2022-9-13 15:42



   

放到带有@名称的文件夹运行就会一跳而过

TOP

flashercs 发表于 2022-9-14 06:29



   
成功,谢谢

TOP

找到1个兼容性好像更好的方法,可以一试:
hfxiang 发表于 2022-9-25 12:29



    妙,可以,感谢

TOP

返回列表