【问题标题】:Batch code for execution of .exe files with parameters执行带参数的.exe文件的批处理代码
【发布时间】:2014-06-02 07:04:03
【问题描述】:

我的问题的命令行参数是

getpkt.exe 15-05-14.dlf

getpkt.exe 文件和 .dlf 文件在同一个文件夹中。现在我将批处理文件复制到相同的位置,然后双击它。所以它需要执行命令。

该文件夹仅包含一个getpkt.exe 和一个.dlf 文件。但是 .dlf 文件名每次都不同。

那么任何人都可以帮助我处理批处理脚本代码,它需要在同一文件夹中执行以下 getpkt.exe 文件和 .dlf 文件?

提前致谢。

【问题讨论】:

  • @pushd "%~f0"&for %%F in (*.dlf) do @getpkt "%%F"

标签: batch-file cmd batch-processing


【解决方案1】:
  1. 转到正确的路径

  2. 获取文件名(如果有多个,则获取最后一个)

  3. 以文件名作为参数执行程序

    cd /d "C:\getpkt 的路径"

    for /f %%i in ('dir /b *.dlf') do set file=%%i

    getpkt.exe %file%

【讨论】:

  • HI 即使它每次都需要获取路径并且应该从那里开始工作。路径也是可变的..
  • 你不知道路径?呃,你可以在整个驱动器中搜索 *.dlfgetpkt.exe 并获得它的路径 - 但这需要大量时间......你至少有一些提示,从哪里开始搜索?
  • 我的要求是,我只需将三个文件(Getpkt、.dlf &.bat)复制到所需文件夹中,然后双击.bat 文件。那么它需要在同一个文件夹中搜索 .dlf 文件,并且应该在命令提示符中给出一个参数。
  • 你好斯蒂芬,这是我开发的代码。并观察到它工作正常SET mypath=%~dp0 echo %mypath:~0,-1%\ cd /d "%~dp0" for /f %%i in ('dir /b *.dlf') do set file=%%i getpkt.exe %file% 退出
【解决方案2】:

SET mypath=%~dp0 回声 %mypath:~0,-1%\ 推送“%~dp0” for /f %%i in ('dir /b *.dlf') do set file=%%i getpkt.exe %文件% 退出

【讨论】:

    猜你喜欢
    • 2014-05-31
    • 1970-01-01
    • 2015-08-21
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    相关资源
    最近更新 更多