我是Powershell的新手。我希望代碼將結果輸出到一個新文件夾中,並將其命名爲計算機名稱變量。如果該文件夾已經存在,它應該只輸出結果到該文件夾中。如何創建一個文件夾並使用Powershell中的計算機名稱變量命名它?
這樣做的最佳方法是什麼?
到目前爲止,我有以下輸出代碼:
$dir = "C:\"
$count = @{}
$size = @{}
$hostname = @{}
gci $dir -recurse |%{
[int]$count[$_.extension] += 1
[int64]$size[$_.extension] += $_.length
}
$results = @()
$count.keys | sort |% {
$result = ""|select extension,count,size,hostname
$result.extension = $_
$result.count = $count[$_]
$result.size = [math]::round($size[$_] /1Gb, 3)
$result.hostname = $(get-content env:computername)
$results += $result
}
$results | ft -auto
$dirName = "C:\inetpub\wwwroot\${Env:ComputerName}"
if (!(Test-Path $dirName)) { mkdir $dirName }
$a = "<style>"
$a = $a + "BODY{background-color:#A987CC;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;.center { margin:auto; width:70%; };}"
$a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:#99CCFF}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
$results | sort-object -property size -Descending | select-object -first 30 | ConvertTo-Html extension,count,size, hostname "$a" -title "JUST TESTING :)" -body "I WAS HERE! :)" |
Set-Content C:\inetpub\wwwroot\${Env:ComputerName}\"$env:computername-$(get-date -f dd-MM-yyyy-hh-mm)".htm
而你的代碼以什麼方式不能正常工作? –
如果該代碼正在做你需要它做的事情,那就去吧。你有特別的關注嗎? – alroc
感謝您的回覆。是的,我只需要Joey建議的代碼,以便生成新文件夾並使用主機名命名,然後在該文件夾中生成輸出。我更新了我的問題代碼,以便您可以看到整個代碼。 – Gazel