如何分析Windows平台下,一个文件是否碎片化呢?
例如:Outlook 2003的pst文件。
Small function to determine if a file is fragmented - for instance to analyzed an .ldf/.mdf file.
The function below also demonstrates one way to invoke an external command/tool (in this case "contig.exe" from www.sysinternals.com).
The function requires contig.exe to be in the local path.
function getFileFragments {
$filename = $args[0]
$contigOutput = contig -a $filename
foreach ($line in $contigOutput) {
if ($line -match "Average fragmentation") {
$splitline = $line.split()
$x = $splitline.count
Write-Host $splitline[$x -2]
}
}
}
Usage:
getFileFragments "c:boot.ini"
One alternative to the outlined function would be to use the xp_cmdshell in SQL to remotely analyse a given .mdf/.ldf file. This would of course require the xp_cmdshell extended stored procedure to be enabled on the SQL server.
EXEC xp_cmdshell "fileserverfilesharecontig.exe -a localsqlfile.mdf"
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7176288/viewspace-896046/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7176288/viewspace-896046/
本文介绍了一种在Windows平台上分析文件是否碎片化的实用方法,并提供了一个PowerShell脚本示例,用于检测特定文件(如Outlook2003的pst文件)的碎片化情况。此外还提到了使用SQL Server的xp_cmdshell远程分析.mdf/.ldf文件的方法。
821

被折叠的 条评论
为什么被折叠?



