【问题标题】:Update text file with the name and also run an exe using batch file使用名称更新文本文件并使用批处理文件运行 exe
【发布时间】:2014-04-24 00:45:25
【问题描述】:

我想在使用批处理脚本的循环中为特定目录中的所有带有 ext .mtc 的文件的每个文件执行以下操作。有人可以帮忙吗?

  1. 在变量中输出文本文件中的文件名
  2. 运行我的应用程序 exe
  3. 将文件名变量从文本文件(在步骤 1 中)传递到另一个批处理文件,以便它可以用于从我的第二个批处理文件中输出相同的内容

*基本上我想将存储在我的第一个批处理文件中的文件名保留到我的第二个批处理文件中

我能够为每个 mtc 文件执行第 2 步运行我的应用程序,但无法执行第 1 步和第 3 步。

【问题讨论】:

    标签: file batch-file


    【解决方案1】:

    类似这样的:

    @echo off
    for /f "delims=" %%a in ('dir /b/a-d *.mtc') do call:execute "%%a"
    exit /b
    :execute
    echo Treating : %1
    Yourexe.exe
    call your_second_bat.bat %1
    

    您的第二批将获得 %1 中 .mtc 文件的值

    your_second_bat.bat:

    @echo off
    echo Value received from My first bat is [%~1]
    

    【讨论】:

    • 谢谢我写了下面的脚本,我试图在我的文本文件中输出,但它给了我下面的 o/p。我只想要不带引号的文件名。我为 /f "delims=" %%a in ('dir /b /a-d *.mtc') 写了 @echo off 的脚本 do call:execute "%%a" :execute echo Filename:%1 >> A.txt输出如下 Filename:"filename1.mtc" Filename:"filename2.mtc" Filename:
    • 试试:echo %~1 >>A.txt
    • 感谢删除引号.. 只是我得到最后一条记录 - 文件名:脚本执行后.. 如何取出?
    • 我不明白你的意思。尝试更好地解释它
    • 我的意思是我的文件夹中只有 2 个带有 ext mtc 的文件,但我仍然得到第三条空记录“文件名:-”,这是不需要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2022-10-18
    相关资源
    最近更新 更多