Ampersand的问题以“以管理员身份运行”开头

时间:2015-03-16 19:22:23

标签: batch-file cmd

我想知道如何在名称包含相同符号"&"?的文件夹中运行.bat或.cmd文件作为管理员。每当我尝试运行该文件时出现错误...当我尝试以管理员身份运行时我做了什么cmd了解&文件夹名称是一个命令。

让我举例说明,我在 Cmd&中有一个名为Projects的文件夹。 vbs 和一个名为 Project 01.bat 的文件,当我尝试以管理员身份运行它直到发生错误时q我将其从包含"&的文件夹中删除;" 如果 Cmd& VBS

Folder name: Cmd & Vbs
Script name: Project 01.bat
Form of execution: Option “Run as administered” in the context menu
Version of windows: 7

示例脚本:

@Echo Off
Title Remover - [WMP] Buy online music
Color 4f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\Directory.Audio\shellex\ContextMenuHandlers\WMPShopMusic" /f>nul 2>&1
echo msgbox"Removed!",vbinformation> %temp%\Msg.vbs
start /wait %temp%\Msg.vbs>nul 2>&1
Del %temp%\Msg.vbs>nul 2>&1
Exit

2 个答案:

答案 0 :(得分:1)

Bill是正确的,要让DOS使用&字符,你需要使用^来逃避它,一个例子可能有帮助:

  

C:\ Temp> cd my& test   该系统找不到指定的路径。   'test'不被视为内部或外部命令,   可操作程序或批处理文件。

     

C:\ Temp> cd my ^& test

     

C:\ TEMP \我&安培;试验>

答案 1 :(得分:1)

我发现这个问题是在runas配置中,修正如下:

浏览注册表:

HKEY_CLASSES_ROOT\batfile\shell\runas\command

HKEY_CLASSES_ROOT\cmdfile\shell\runas\command

更改值:

%SystemRoot%\System32\cmd.exe /C "%1" %*

%SystemRoot%\System32\cmd.exe /C ""%1"" %*