Powershell 从目录中获取文件夹,并对所有这些文件夹使用sigheck64运行它们,然后将结果保存到文件

Powershell 从目录中获取文件夹,并对所有这些文件夹使用sigheck64运行它们,然后将结果保存到文件,powershell,Powershell,我试图列出目录中的所有文件夹,并运行sigcheck with path循环所有这些$folders。示例sigcheck64 checkthisdirectory/$folders/下载 $directory = dir E:\Users -Directory | Select BaseName $SigcheckPath="C:\Windows\temp\sigcheck.exe" foreach ($dir in $directory){ & $SigcheckPath -nob

我试图列出目录中的所有文件夹,并运行sigcheck with path循环所有这些$folders。示例sigcheck64 checkthisdirectory/$folders/下载

$directory = dir E:\Users -Directory | Select BaseName
$SigcheckPath="C:\Windows\temp\sigcheck.exe"

foreach ($dir in $directory){
& $SigcheckPath -nobanner -a -h -s -vt -c E:\Users\$directory\Downloads > C:\Users\Admin\Desktop\$directory.csv }
第一个脚本应获取在指定目录E:\Users中找到的所有文件夹


并使用sigcheck对上述文件夹中的所有目录进行尝试,然后将结果保存到具有特定$directory名称的.csv中。

当前脚本中存在两个问题:

$directory = dir E:\Users -Directory | Select BaseName
这将使用
BaseName
属性创建新对象,而不仅仅是将
BaseName
字符串直接返回到
$directory
,因此将其更改为:

$directory = dir E:\Users -Directory | Select -Expand BaseName
foreach()
循环中,您应该参考
$dir
(循环中的当前项),而不是
$directory
(我们正在迭代的整个数组):


谢谢,它工作得很好。我已经为它编辑了代码,现在可以创建多个目录,尽管它创建了太多的文件<代码>$directory=dire:\Users-foreach($directory中的dir){&$SigcheckPath-nobanner-a-h-s-ce:\Users\$dir\$path1>c:\Users\Admin\Desktop\$dir-$path1-01.csv |和$SigcheckPath-nobanner-a-h-s-c:\Users\$dir\$path2>c:\Users\Admin\Desktop\$dir-$path2-01.csv}{获取内容C:\Users\Admin\Desktop\$dir-$path1-01.csv,C:\Users\Admin\Desktop\$dir-$path2-01.csv |选择对象-唯一|设置内容-编码ASCII joined.csv}是否有办法将所有文件合并在一起?
foreach ($dir in $directory){
  & $SigcheckPath -nobanner -a -h -s -vt -c E:\Users\$dir\Downloads > C:\Users\Admin\Desktop\$dir.csv 
}