首页 > 解决方案 > 如何将for循环的结果批量输出到变量

问题描述

for /f "delims=" %%i in ('powershell -noprofile "iex (${%~f0} | out-string)"') do (
    echo %%i
) >> list.txt

我想将循环的总结果保存到变量而不是 list.txt,我该怎么做?

powershell 对话框提供有:

Add-Type -AssemblyName System.Windows.Forms
$f = new-object Windows.Forms.OpenFileDialog
$f.InitialDirectory = pwd
$f.Filter = "BAM files (*.bam)|*.bam"
$f.ShowHelp = $false
$f.Multiselect = $true
[void]$f.ShowDialog()
if ($f.Multiselect) { $f.FileNames } else { $f.FileName }

Add-Type -AssemblyName System.Windows.Forms
$f = new-object Windows.Forms.OpenFileDialog
$f.InitialDirectory = pwd
$f.Filter = "BED Files (*.bed)|*.bed"
$f.ShowHelp = $false
$f.Multiselect = $false
[void]$f.ShowDialog()
if ($f.Multiselect) { $f.FileNames } else { $f.FileName }

我认为powershell中选定的文件将提供给循环中的每次迭代,因此我想尝试将它们全部输出到一个变量中(我可以通过输出到一个tmp文件来做到这一点,但只是想知道我是否可以避免这种情况)。

真的很感谢帮助过的人!!

标签: windowsloopsbatch-file

解决方案


推荐阅读