【问题标题】:Running a batch file which requires inputs directly from folder运行需要直接从文件夹输入的批处理文件
【发布时间】:2017-05-15 14:09:14
【问题描述】:

我有一个需要 4 个命令行输入的批处理文件。当我在命令提示符下执行批处理文件时,它会显示帮助消息,要求输入 4 个值。

当我直接从文件夹运行此文件时,它会打开 cmd 并立即关闭。

是否可以修改批处理文件,这样当我从文件夹运行时,它会打开 cmd,然后显示帮助消息。?

以下是我的 1 个命令输入问题的迷你版。该脚本用于生成许可证文件

@ECHO OFF
GOTO :continue

:continue
SETLOCAL
IF "%1" == "" GOTO :Help

::Set the Command Line Options
SET ARVERSION=%1

::Create Directory
SET OUT_PATH=%cd%

ECHO  Initiating Generation...

if not exist %OUT_PATH% mkdir %OUT_PATH%

::Create License File - Calling 'Subs' will create the output with actual Version
Subs ARVERSION %ARVERSION% Input.txt 1>%OUT_PATH%\License.txt

ECHO Scripts are created @ %OUT_PATH%
ECHO  Generation Completed...

GOTO :End

:Help
ECHO  Starting License File Generation...
ECHO Usage:
ECHO InstallerScriptGen.bat AR_VERSION
ECHO AR_VERSION            - Version (3.2 or 4.0 or 4.2)
ECHO Example : InstallerScriptGen.bat 3.2.2
ECHO Please Note that input of incorrect values will result in wrong generation.

:End
ENDLOCAL

【问题讨论】:

标签: windows batch-file cmd


【解决方案1】:

“直接从文件夹运行”(我假设您的意思是“在 Windows 资源管理器中单击图标”)导致 Windows 资源管理器执行 CMD /C <<batchfilename>> 的等效项。当使用/C 调用时,一旦批处理文件结束,CMD 就会退出(并且 CMD 窗口关闭)。您可以通过使用PAUSE 命令(这将导致它等待用户按下任意键)或TIMEOUT 命令(这将在继续之前等待指定的秒数,无需按键)。有关更多信息,请参阅 SS64 的 PAUSETIMEOUT 命令帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 2012-12-18
    • 2012-12-14
    • 2011-10-29
    • 2012-08-07
    • 2011-02-07
    相关资源
    最近更新 更多