批处理文件,命令语法不正确?

时间:2019-12-17 12:13:16

标签: windows batch-file

我正在为我的朋友创建一个RickRoll恶作剧,我现在已经写了它,但是当我运行它时,它说“命令的语法不正确”

该脚本将运行,并为temp设置另一个蝙蝠,并将其添加到启动中,还将使计划任务每​​分钟运行一次。

这是脚本 是

@echo off
goto check1

:check1
cd %USERPROFILE%\AppData\Local\Temp\
IF NOT EXIST StratUp
goto mkdir
ELSE
goto check2

:mkdir
cd %USERPROFILE%\AppData\Local\Temp\
mkdir StratUp
goto check2

:check2
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\StratUp
if %ERRORLEVEL% EQU 1
goto mkreg
ELSE
goto check

:mkreg
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v StratUp /t REG_SZ /d %USERPROFILE%\appdata\local\temp\StratUp\StratUp.bat
goto check

:check
cd %USERPROFILE%\appdata\local\temp\StratUp
if NOT EXIST StratUp.bat
goto create
ELSE
goto end

:create
cd %USERPROFILE%\appdata\local\temp\StratUp
>StratUp.bat (
echo @echo off
echo start chrome.exe --new-window https://www.youtube.com/watch?v=dQw4w9WgXcQ
echo exit
)
goto task

:task
schtasks /create /tn "StratUp" /tr "%USERPROFILE%\appdata\local\temp\WindowsStratUp\StratUp.bat" /sc MINUTE /d *
goto end

:end
exit

我也有一个塞子脚本,但是如果我没有原始脚本,我将无法对其进行测试

这是塞子脚本:

@echo off

goto checkdir

:checkdir
cd %USERPROFILE%\appdata\local\temp\
IF EXIST %USERPROFILE%\appdata\local\temp\StratUp
goto deldir
else
goto checkreg

:deldir
rmdir /s /q %USERPROFILE%\appdata\local\temp\StratUp
goto checkreg

:checkreg
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\StratUp
if %ERRORLEVEL% EQU 0
goto delreg
ELSE
goto end

:delreg
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ /v StratUp
goto deltask

:deltask
schtasks /delete /tn "StratUp"
goto end

:end
exit

我将不胜感激:)

1 个答案:

答案 0 :(得分:0)

您尚未将带有括号的if语句包含在内。您必须按照以下步骤进行操作:

if exist %userprofile%\AppData\Local\Temp\StratUp (
  goto deldir 
) else (
  goto checkreg 
)