首页 > 解决方案 > 执行命令输出到多行

问题描述

我正在尝试从 .exe 执行命令,但它输出到多行...

for %b in ("AB","FG") do (for /D %a in ("C:\FileStore\%~b*") do (echo %~fa))

输出:

C:\Users\admin>(for / %a in ("C:\FileStore\AB*") do (echo %~fa ) )
C:\Users\admin>(echo C:\FileStore\AB Map 1 )
C:\FileStore\AB Map 1

C:\Users\admin>(for / %a in ("C:\FileStore\FG*") do (echo %~fa ) )

C:\Users\admin>(echo C:\FileStore\FG Map 2 )
C:\FileStore\FG Map 2

但我只想要这个...

C:\FileStore\AB Map 1
C:\FileStore\FG Map 2

我怎样才能解决这个问题?

使用执行此操作效果很好,但我需要从运行它。

标签: for-loopcmd

解决方案


要禁用命令的隐式回显,请在命令前加上@

@for %b in ("AB","FG") do @(for /D %a in ("C:\FileStore\%~b*") do @(echo %~fa))

请注意,该行中的每个命令都需要自己的静音前缀。


推荐阅读