Windows 如何在批处理文件中但在记事本中打开批处理文件?

Windows 如何在批处理文件中但在记事本中打开批处理文件?,windows,batch-file,cmd,Windows,Batch File,Cmd,如何在已打开的文件版本中使用if语句在notepad中打开批处理(.BAT)文件?例如您已经输入了批处理文件,它正在通过cmd运行,但随后您键入了一个关键字以打开同一批处理文件,但在记事本-比方说,为了快速编辑。。。你将如何做到这一点 假设关键字是yum。 我的理解是,您必须执行以下操作,但除此之外我还不知道: set /p input= if %input%==yum goto open :open 在open中,我不知道该写什么代码,因为我对编码相当陌生,而且我已经看过很多地方。如果有人能

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

假设关键字是
yum
。 我的理解是,您必须执行以下操作,但除此之外我还不知道:

set /p input=
if %input%==yum goto open
:open
open
中,我不知道该写什么代码,因为我对编码相当陌生,而且我已经看过很多地方。如果有人能帮忙,那太好了。

类似这样的:

@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"
在另一个线程中打开记事本。

类似以下内容:

@echo off
set /p input=Enter something :
if %input%==yum notepad "%~f0"
@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
这将等待您退出记事本或

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

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

尝试
if/I“%input%”==“yum”start“notepad”%~f0”
引用并尝试
if/I“%input%”==“yum”start“notepad”%~f0”
引用和
%~nx0
都不够。需要1。当前目录和批处理目录的完整路径可能不同,2。双引号路径
“%~f0”
(可能包含空格或另一个
cmd
-有毒字符)。谢谢JosefZ!已更正。
%~nx0
不够。需要1。当前目录和批处理目录的完整路径可能不同,2。双引号路径
“%~f0”
(可能包含空格或另一个
cmd
-有毒字符)。谢谢JosefZ!更正。
@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