当我使用批处理文件创建文件invisible.vbs
,然后删除时,它会因错误而停止。基本上,我想要做的是让批处理文件生成这个文件。
这是我运行批处理文件时出现的错误:
C:\Users\HP\Desktop>"New Text Document.bat"
CreateObject("Wscript.Shell").Run """"
'WScript.Arguments' is not recognized as an internal or external command, operable program or batch file.
'""""' is not recognized as an internal or external command, operable program or batch file.
这是批处理文件中的内容:
@ECHO OFF
CD /D %~dp0
ECHO\ CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0,False>>Invisible.vbs
::What I want to do with the file is here
DEL %CD%\invisible.vbs /Q /S
我注意到该文件已生成,但它是空的,因此当我尝试使用它来使另一个批处理文件不可见时,它什么都不做。
答案 0 :(得分:2)
这是由echo语句中的&
符号引起的。当按字面意思^
使用它时,它需要被批量转义字符^&
转义。您可能还希望使用单输出重定向运算符>
(覆盖现有)而不是双>>
(附加到现有)。
@ECHO OFF
CD /D %~dp0
ECHO.CreateObject^("Wscript.Shell"^).Run """" ^& WScript.Arguments^(0^) ^& """", 0,False>Invisible.vbs
::What I want to do with the file is here
DEL %CD%\invisible.vbs /Q /S
另一个提示是在创建丢弃文件时使用%TEMP%
目录变量。