2015-11-03 74 views
1

如何在文件的已打开版本中使用if语句在notepad中打开批处理文件(.BAT)?例如...你已经输入了批处理文件,它通过cmd运行,但是你输入一个关键词来打开同一个批处理文件,但是在notepad - 比方说,快速编辑...你会如何做到这一点?如何在批处理文件中打开批处理文件,但在记事本中?

假设关键词是yum。 我的理解是,你必须做到以下几点,但我不知道进一步比:

set /p input= 
if %input%==yum goto open 
:open 

open我不知道该写什么代码,我是相当新的编码,我看了很多地方。如果有人可以帮忙,那太棒了。

+0

尝试'if/I“%input%”==“yum”start“”notepad“%〜f0”'reference [here](http://ss64.com/nt/)and [here ](http://ss64.com/nt/syntax.html) – JosefZ

回答

0

事情是这样的:

@echo off 
set /p input=Enter something : 
if %input%==yum notepad "%~f0" 

这将等待,直到你退出记事本或

@echo off 
set /p input=Enter something : 
if %input%==yum start notepad "%~f0" 

要在另一个线程中打开记事本。

+2

'%〜nx0'不足。需要** 1 **。作为当前目录和批处理目录的完整路径可能不同,并且** 2 **。双引号路径'“%〜f0”'(可以包含空格或另一个'cmd'-有毒字符)。 – JosefZ

+0

谢谢JosefZ!纠正。 – SachaDee

0
@echo off 
goto begin 

:open 
notepad "%~F0" 
echo Returned from edition 
echo/ 

rem When edit, do NOT modify previous lines! 

:begin 
set /P "input=Enter word: " 
if "%input%" equ "yum" goto open 
echo You typed: "%input%" 
pause 
goto begin