gpt4 book ai didi

file - 如何使用powershell检查文件夹中是否存在特定的文件扩展名?

转载 作者:行者123 更新时间:2023-12-01 11:46:50 25 4
gpt4 key购买 nike

我有一个包含许多文件夹和子文件夹的根目录。我需要检查文件夹或子文件夹中是否存在像 *.sln 或 *.designer.vb 这样的特定文件,并将结果输出到文本文件中。

例如:

$root = "C:\Root\"
$FileType = ".sln",".designer.vb"

文本文件的结果类似于以下内容:
.sln ---> 2 files
.sln files path ---->
c:\Root\Application1\subfolder1\Test.sln
c:\Root\Application2\subfolder1\Test2.sln

任何帮助将不胜感激!

问候,
阿西什

最佳答案

尝试这个:

function Get-ExtensionCount {
param(
$Root = "C:\Root\",
$FileType = @(".sln", ".designer.vb"),
$Outfile = "C:\Root\rootext.txt"
)

$output = @()

Foreach ($type in $FileType) {
$files = Get-ChildItem $Root -Filter *$type -Recurse | ? { !$_.PSIsContainer }
$output += "$type ---> $($files.Count) files"
foreach ($file in $files) {
$output += $file.FullName
}
}

$output | Set-Content $Outfile
}

我把它变成了一个函数,你的值作为默认参数值。通过使用调用它
Get-ExtensionCount    #for default values

或者
Get-ExtensionCount -Root "d:\test" -FileType ".txt", ".bmp" -Outfile "D:\output.txt"

输出保存到文件 ex:
.txt ---> 3 files
D:\Test\as.txt
D:\Test\ddddd.txt
D:\Test\sss.txt
.bmp ---> 2 files
D:\Test\dsadsa.bmp
D:\Test\New Bitmap Image.bmp

要在开始时获取所有文件计数,请尝试:
function Get-ExtensionCount {
param(
$Root = "C:\Root\",
$FileType = @(".sln", ".designer.vb"),
$Outfile = "C:\Root\rootext.txt"
)
#Filecount per type
$header = @()
#All the filepaths
$filelist = @()

Foreach ($type in $FileType) {
$files = Get-ChildItem $Root -Filter *$type -Recurse | ? { !$_.PSIsContainer }
$header += "$type ---> $($files.Count) files"
foreach ($file in $files) {
$filelist += $file.FullName
}
}
#Collect to single output
$output = @($header, $filelist)
$output | Set-Content $Outfile
}

关于file - 如何使用powershell检查文件夹中是否存在特定的文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14598338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com