我想运行这样的命令:
foo.exe file1.c file 2.c file3.c ...
等等,直到我列出了当前目录下的所有文件
我怎样才能在脚本中做到这一点?
编辑:下面的答案不起作用,它与文件名中的空格有关。这是 dir /b /ad 给我的:
c:\Users\morpheus\temp>dir /b /a-d
ceiling GRF Model 24x36.pdf
conference room 02.pdf
conference room 03.pdf
conference room.pdf
conference room01.pdf
CONFERENCE TABLE detail.pdf
CONFERENCE TABLE.pdf
door detail.pdf
door.pdf
ELEVATION GF24X36.pdf
flooring GRF Model 24x36.pdf
junction detail 01.pdf
junction detail.pdf
MODULAR GRF Model 24x36.pdf
RECEPTION PART PLAN GF.pdf
reception table edited.pdf
reception table.pdf
@cookiebutter,我从您的解决方案中得到的是:
foo.exe "ceiling" "conference" "conference"
"conference" "conference" "CONFERENCE" "CONFERENCE" "door" "door.pdf" "EL
EVATION" "flooring" "junction" "junction" "MODULAR" "RECEPTION" "reception
" "reception"
能够处理文件名中的空格的解决方案是这样的:
echo off
setlocal ENABLEDELAYEDEXPANSION
set params=
for %%i in ('dir *.* /b') do (
if exist %%i set params=!params! "%%i"
)
echo on
foo.exe %params%
我会接受 cookiebutter 的回答,因为它让我朝着正确的方向前进。