0

例如,cd (echo ..)在 powershell 中工作,但我如何让它批量工作(它首先评估回声,所以命令是有效的cd ..)?mycommand.exe (ls -fi *.hs -exclude \"#*\" -name -r)是我实际尝试转换的内容(它将一个完整的过滤文件列表发送到mycommand)。

4

2 回答 2

1
setlocal enabledelayedexpansion
set LIST=
for /r %%F in (*.hs) do (
   set "FN=%%F"
   if not "!FN:~0,1!"=="#" set LIST=!LIST! "%%F"
)
mycommand.exe !LIST!

将是一个粗略的翻译。

于 2012-05-28T20:45:47.397 回答
0

首先添加$符号以评估括号中的命令:

mycommand.exe $(ls -fi *.hs -exclude \"#*\" -name -r)

或者

ls -fi *.hs -exclude \"#*\" -name -r | mycommand.exe

如果要对从 ls 返回的每个项目执行命令,可以:

ls -fi *.hs -exclude \"#*\" -name -r | %{mycommand.exe $_ }
于 2012-05-28T20:47:46.817 回答