Batch file bat批处理文件询问最终用户希望运行哪个选项

Batch file bat批处理文件询问最终用户希望运行哪个选项,batch-file,command-line,batch-processing,Batch File,Command Line,Batch Processing,有趣的东西 经理刚买了一台公用事业公司的机器。它无所不能。它甚至具有命令行功能。如果运行BugFixer/a,应用程序将自动扫描整个驱动器以查找cooties。如果运行Bugfixer/b,它将扫描Windows\system 32目录中的所有文件;如果运行Bugfixer/c,程序将扫描并修复注册表。需要编写一个批处理文件,通过询问用户希望初始化哪个选项,允许用户避免讨厌的GUI,并通过命令行高效地运行Bug修复程序 :TOP ECHO WHICH BUG FIXER DO YOU NEED

有趣的东西

经理刚买了一台公用事业公司的机器。它无所不能。它甚至具有命令行功能。如果运行BugFixer/a,应用程序将自动扫描整个驱动器以查找cooties。如果运行Bugfixer/b,它将扫描Windows\system 32目录中的所有文件;如果运行Bugfixer/c,程序将扫描并修复注册表。需要编写一个批处理文件,通过询问用户希望初始化哪个选项,允许用户避免讨厌的GUI,并通过命令行高效地运行Bug修复程序

:TOP 
ECHO WHICH BUG FIXER DO YOU NEED TO RUN? A=ALL B=SOME c=REPAIR 
SET /P = %USERSPEC% 
IF "%1"=="A=ALL" GO TO :FIRST 
IF "%1"=="A=all" GO TO :FIRST 
:FIRST
CHKDSK C:
ECHO CHECKING ALL FILES ARE COMPLETE 
IF "%2"=="B=SOME" GO TO :NEXT
IF "%2"=="b=some" GO TO :NEXT 
:NEXT 
CHKDSK /F /R C:\WINDOWS/SYSTEM32 
ECHO CHECKING SOME FILES ARE COMPLETE 
IF "%3"=="REPAIR" GO TO :LAST 
IF "%3"=="repair" GO TO :LAST 
:LAST
CHKDSK /c 
ECHO REPAIR FILES ARE COMPLETED
就像我说的有趣的东西。有人想帮忙吗?

下一个脚本逻辑可能会有帮助:

@echo OFF >NUL
setlocal enableextensions
:TOP
echo(
set "USERSPEC="
set /P "USERSPEC=Which bug fixer do you need to run? A=all B=some C=repair? "
if /I "%USERSPEC%"=="A" goto :FIRST 
if /I "%USERSPEC%"=="B" goto :NEXT  
if /I "%USERSPEC%"=="C" goto :LAST
echo NO CHECK CHOOSEN, BATCH ENDS
goto :ENDSCRIPT

:FIRST
chkdsk C:
echo CHECKING ALL FILES ARE COMPLETE 
goto :TOP

:NEXT 
chkdsk /F /R C:\WINDOWS/SYSTEM32 
echo CHECKING SOME FILES ARE COMPLETE 
goto :TOP

:LAST
chkdsk /c 
echo REPAIR FILES ARE COMPLETED
goto :TOP

:ENDSCRIPT
endlocal
goto :eof
但是,运行它:

==>30019117.bat

Which bug fixer do you need to run? A=all B=some C=repair? a
Access Denied as you do not have sufficient privileges.
You have to invoke this utility running in elevated mode.
CHECKING ALL FILES ARE COMPLETE

Which bug fixer do you need to run? A=all B=some C=repair?
NO CHECK CHOOSEN, BATCH ENDS

==>
资源(建议阅读):

  • (命令参考)
  • (其他特殊性)
  • (庞大的脚本存储库)

您能否至少发布此Bugfixer.bat??chkdsk的代码源。这是我到目前为止所做的…需要调整。正如你所看到的,我是新来的TOP ECHO您需要运行哪个BUG修复程序?A=ALL B=SOME c=REPAIR SET/P=%USERSPEC%IF“%1”==“A=ALL”转到:FIRST如果“%1”==“A=ALL”转到:FIRST:FIRST CHKDSK c:ECHO检查所有文件是否完成如果“%2”=“B=SOME”转到:下一个如果“%2”==“B=SOME”转到:下一个CHKDSK/F/R c:\WINDOWS/SYSTEM32 ECHO检查一些文件是否完成如果“%3”=“REPAIR”转到:最后一个如果“%3”=“REPAIR”转到:LAST:LAST CHKDSK/c ECHO修复文件已完成请不要在注释中发布代码片段(变得非常不可读)。你的问题相当。。。如果有必要,请看我的尝试。谢谢!非常感谢你的知识…正如你所看到的,我离你不远。如果你今晚感到无聊,这里还有一个。