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