【发布时间】:2020-06-03 04:38:17
【问题描述】:
每次我尝试批量创建 vbs 文件时,vbs 文件中都会缺少一些行
@echo off
echo Function RunAsAdmin() >> 2.vbs
echo If WScript.Arguments.length = 0 Then >> 2.vbs
echo CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & _ >> 2.vbs
echo WScript.ScriptFullName & """" & "RunAsAdministrator""",,"runas", 1 >> 2.vbs
echo WScript.Quit >> 2.vbs
echo End If >> test.vbs
批量制作vbs文件时,我需要保留这2行吗?
echo CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & _ >> 2.vbs
echo WScript.ScriptFullName & """" & "RunAsAdministrator""",,"runas", 1 >> 2.vbs`
【问题讨论】:
-
尝试在文本周围使用
"。我认为这是因为您使用了特殊字符/关键字。您可以使用^转义字符。 -
与号是特殊字符,必须用胡萝卜转义。
-
附注,任何重定向都会打开和关闭文件,但
>"%outfile%" ( ...all echo here... )将打开文件,处理括号内的所有内容,然后关闭文件。这将加快你的代码。顺便说一句,(...) >"%outfile%"是一样的。 -
虽然在后者的情况下,您也需要转义嵌套的内部右括号!
标签: windows batch-file cmd escaping