【发布时间】:2020-11-14 14:56:48
【问题描述】:
为了防止无意的run of batch files 在某些文件夹中产生不良行为,我将这 3 行添加到所有批处理文件的开头。
@echo off
set /p choice=Are you sure to run this file, if so press 'y' anything else cancels?
if /I %choice% neq y notepad %~f0
.
. rest of the code
.
因此,如果用户按下y,文件将执行预期操作,否则notepad 将打开它进行编辑,例如单击.ps1 文件,但控制台窗口保持打开状态,直到我关闭记事本或关闭控制台,读取this post 表明我所做的并不理想。
记事本打开文件后有没有办法关闭控制台。
【问题讨论】:
-
使用
choice命令肯定更好(参见 Compo 的分析器)。但是为了解释你的问题:%choice%是空的。你定义了%choice %。使用set命令删除=周围的空格。 -
你是对的,我在这里只是为了可读性而忘记了它的重要性。我认为这与不使用
start有关
标签: windows batch-file