如何在禁用CMD时使用启动命令启动批处理?

时间:2014-11-24 23:54:38

标签: windows batch-file cmd

我正在尝试创建一个批处理文件,该文件可以在禁用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

1 个答案:

答案 0 :(得分:2)

我不确定你的意思" CMD被禁用"。但是你的START命令失败了,因为你的目标路径被引号括起来(可能是必要的),但如果用引号括起来,START会将第一个参数视为标题。解决方案是为标题添加一个额外的引用参数 - 空字符串将执行:

start "" "%UsPr%\%basename%.bat"
相关问题