none
如何通过脚本打印出当前目录下的所有文件名,以及他们的AssamblyVersion或FileVersion? RRS feed

  • 问题

  • 如何通过脚本打印出当前目录下的所有文件名,以及他们的AssamblyVersion或FileVersion?

    由于工程部门经常需要核对客户服务器是否部署了正确的文件,因此非常需要这个功能。否则就只能逐一用鼠标选择文件,再查看属性了,这样效率极底。


    信奎爷,无所畏惧!!
    2011年3月5日 10:01

答案

  • 可以這樣編寫

    # Begin
    
    # 將當前目錄的產品版本和文件版本存儲到 fileinfo.log 文件中
    [System.Text.StringBuilder]$buffer = new-object System.Text.StringBuilder
    foreach ($f in $(get-childitem . -recurse -force)) 
    {
    	if ($f.versioninfo.productversion -ne $null -or $f.versioninfo.fileversion -ne $null) 
    	{
    		[void]$buffer.AppendLine($("Filename: {0}`r`nProductVersion: {1}`r`nFileVersion: {2}`r`n" -f $f.versioninfo.filename, $f.versioninfo.productversion, $f.versioninfo.fileversion))		
    	}
    }
    $buffer.ToString() | add-content fileinfo.log -encoding utf8
    
    # End


    Folding@Home
    2011年3月6日 8:19

全部回复

  • # PowerShell 代碼
    foreach ($f in $(get-childitem . -recurse -force)) {$f.versioninfo | where-object {$_.productversion -ne $null -or $_.fileversion -ne $null} | format-list filename, productversion, fileversion}
    

    Folding@Home
    2011年3月5日 11:30
  • 非常感谢! 我在您的基础上作了改进,将结果重定向到一个文件. 这样就羹方便了.

    foreach ($f in $(get-childitem . -recurse -force)) {$f.versioninfo |
    where-object {$_.productversion -ne $null -or $_.fileversion -ne $null} |
    format-list filename, productversion, fileversion| Out-File -FilePath
    fileversion.log -append}
    

    不过目前这段代码直接贴到文件里好像执行失败.不知怎么解决... 


    信奎爷,无所畏惧!!
    2011年3月6日 7:46
  • 可以這樣編寫

    # Begin
    
    # 將當前目錄的產品版本和文件版本存儲到 fileinfo.log 文件中
    [System.Text.StringBuilder]$buffer = new-object System.Text.StringBuilder
    foreach ($f in $(get-childitem . -recurse -force)) 
    {
    	if ($f.versioninfo.productversion -ne $null -or $f.versioninfo.fileversion -ne $null) 
    	{
    		[void]$buffer.AppendLine($("Filename: {0}`r`nProductVersion: {1}`r`nFileVersion: {2}`r`n" -f $f.versioninfo.filename, $f.versioninfo.productversion, $f.versioninfo.fileversion))		
    	}
    }
    $buffer.ToString() | add-content fileinfo.log -encoding utf8
    
    # End


    Folding@Home
    2011年3月6日 8:19