【问题标题】:batch: filenames with variables evaluated inside a for loop批处理:在 for 循环中评估变量的文件名
【发布时间】:2013-01-02 23:12:13
【问题描述】:

包含变量的文件名和目录正在程序内部进行评估。如何在不评估的情况下将文件名批量存储为变量?

EG:我的路径是:

"C:\Rare\Names in a File\%CD%\"
                              batchfile.bat
                              file.txt

我想在这个目录中运行一个脚本:

REM #####BATCHFILE.BAT#######

pushd "%dp0"
for %%A in ("C:\Test") do set EXEPATH=%%~A
for %%A in ("Test.exe") do set EXECUTABLE=%%~A
for %%A in ("%CD%") do set DIRNAME=%%~A
for %%A in ('dir /b /a-d "*.txt"') do (
SET FILENAME=%%~A
CALL :PROCEDURE
)
exit /b
:PROCEDURE
start /w "" "%EXEPATH%\%EXECUTABLE%" "%DIRNAME%\%FILENAME%" 

【问题讨论】:

    标签: batch-file filenames evaluate


    【解决方案1】:

    我已经批量制作了一个菜单,和你的问题有点不同。

    每个文件需要一个变量。最简单的方法是增加他们的名字:

    var1=path1\exe1
    var2=path1\exe2
    var3=path2\exe1
    var4=path2\exe2
    

    在 for 循环中的每个变量上,您都可以调用一个过程,该过程将文件与路径一起保存在变量中。

    for ....(
       call :Var %path% %file%
    )
    
    :Var
    set /a id+=1
    set %id%.path=%1&& shift
    set %id%.file=%1
    goto:EOF
    
    after this you could do
    
    for ..(1,1,%id%) do (
       start !%id%.path!\!%id%.file!
    )
    

    如果你想看看我的批处理菜单,你可以联系我。

    【讨论】:

      猜你喜欢
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 2021-11-04
      • 2023-04-08
      相关资源
      最近更新 更多