我是一個初學者批處理/ bash腳本編寫器,並且對此代碼有點麻煩。代碼的其餘部分工作得很好,它只是第一個麻煩的參數部分。任何幫助/建議將受到感謝。這裏是我的代碼:<在這個時候意外(批處理腳本)
@echo off
:commandline
if [%1]==[] (
echo No data entered. Please continue as normal.
goto :welcome
)
IF NOT %3 == "" (
echo.
echo Too many parameters given...
goto :welcome
)
IF EXIST %2 (
xcopy %2 bak_%2
%2 notepad
goto :eof
exit.
)
:welcome
echo.
echo **********************************
echo Welcome to the Backup Program!!
echo **********************************
echo.
set /p answer=Please enter your name:
echo.
echo Hello %answer% please make a selection from the menu below
echo.
:start
echo Option 1 - Backup and Edit
echo Option 2 - Create a Batch File
echo Option 3 - Quit
echo.
choice /C:321
IF errorlevel 3 goto option1
IF errorlevel 2 goto option2
IF errorlevel 1 goto option3
:option1
echo.
set /p file=Please type in the name of the file:
if %file% == quit (
echo.
echo The program will now close.
pause
Exit
)
if %file% == Quit (
echo.
echo The program will now close.
pause
Exit
)
IF NOT EXIST %file% goto :option1
echo.
copy %file% bak_%file%
%file% notepad
pause
echo.
goto :start
:option2
echo > %file%.bat
echo file=%file% > %file%.bat
echo IF EXIST %file% (>> %file%.bat
echo copy %file% bak_%file% >> %file%.bat
echo %file% notepad >> %file%.bat
echo) else (>> %file%.bat
echo echo .> %file% >> %file%.bat
echo %file% notepad >> %file%.bat
echo) >> %file%.bat
goto :eof
:option3
goto :eof
:eof
echo Thanks for using the Backup Program.
pause
嘿。我想要做的是,如果有第三個參數給出它顯示一個錯誤消息,說明「太多參數」。我使用的語法如果不是%3 =空。 我打電話給Batch.bat你好 - 我是否正確地認爲這應該運行? 如果我打電話給Batch.bat你好,那麼錯誤信息應該顯示? – user3122852
我認爲這是意圖。儘管如此,'IF NOT'%3「==」「('是我測試它爲空的方式。 – Pak