我正在尝试创建一个批处理文件,该文件可以在禁用CMD的计算机上运行。以下是我的代码。 (说command
的位是我没有包含的其他代码。)
如果我尝试运行此代码,CMD窗口将打开,但由于CMD被禁用,它将无法运行。它作为CMD文件而不是批处理文件打开。我怎么能改变这个?或者我可以在使用启动命令之前使批处理文件创建.reg文件以启用CMD吗?
@setlocal enableextensions enabledelayedexpansion
for %%f in (%0) do set basename=%%~nf
set UsPr=%UserProfile%
copy %0 "%UsPr%"
if "%0" == "%UsPr%\%basename%.bat" (
goto :1
) else (
goto :2
)
:1
command
pause
:2
command
start "%UsPr%\%basename%.bat"
pause
答案 0 :(得分:2)
我不确定你的意思" CMD被禁用"。但是你的START命令失败了,因为你的目标路径被引号括起来(可能是必要的),但如果用引号括起来,START会将第一个参数视为标题。解决方案是为标题添加一个额外的引用参数 - 空字符串将执行:
start "" "%UsPr%\%basename%.bat"