为什么我不能在这里使用百分号

时间:2016-10-05 13:53:28

标签: batch-file input cmd

我希望你过得愉快!

所以我遇到了一段似乎没有为我工作的代码,我正在寻找解决方案。

以下是代码:

cd "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\">> FriendlyVirus.bat

rem Saved in "C:\Users\%username%\desktop\Instant_Installl.bat">> FriendlyVirus.bat

    @echo @echo off>> VirusTerminator.bat
    @echo color a>> VirusTerminator.bat
    @echo title Virus Terminator>> VirusTerminator.bat
    @echo cls>> VirusTerminator.bat
    @echo echo.>> VirusTerminator.bat
    @echo set /P c=.>> VirusTerminator.bat
    @echo If "%c%"=="3814" goto :terminatey>> VirusTerminator.bat
    @echo echo.>> VirusTerminator.bat
    @echo goto :terminaten>> VirusTerminator.bat
    @echo :terminatey>> VirusTerminator.bat
    @echo del FriendlyVirus.bat>> VirusTerminator.bat
    @echo cls>> VirusTerminator.bat
    @echo echo.>> VirusTerminator.bat
    @echo echo Done! (Right)>> VirusTerminator.bat
    @echo pause>> VirusTerminator.bat
    @echo exit>> VirusTerminator.bat
    @echo :terminaten>> VirusTerminator.bat
    @echo cls>> VirusTerminator.bat
    @echo echo.>> VirusTerminator.bat
    @echo echo Done! (Wrong)>> VirusTerminator.bat
    @echo pause>> VirusTerminator.bat
    @echo exit>> VirusTerminator.bat
    echo.
    echo Finished.
    exit

所有代码都可以正常工作,除了一位。

它所说的行:@echo If "%c%"=="3814" goto :terminatey>> VirusTerminator.bat是问题所在。

代码的作用是运行主批处理文件,它会创建多个其他批处理文件并将代码输入其中。

但是,当我运行新创建的批处理文件时,它并没有按预期工作,当我查看代码时,它发生了变化:

@echo If "%c%"=="3814" goto :terminatey>> VirusTerminator.bat

@echo If ""=="3814" goto :terminatey>> VirusTerminator.bat

删除整个%c%部分。

我试着把它放在引号中,并且还用百分号来搞乱。

我知道代码完全正常运行,因为我可以手动添加代码,并且可以根据需要运行。

所有答案都表示赞赏!!!

三江源!

0 个答案:

没有答案