Powershell 从目录中获取文件夹,并对所有这些文件夹使用sigheck64运行它们,然后将结果保存到文件
我试图列出目录中的所有文件夹,并运行sigcheck with path循环所有这些$folders。示例sigcheck64 checkthisdirectory/$folders/下载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
$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
}