我在下面有一段powershell代码,它在文件夹C:\ Users \ XX \ Desktop \ Powershell \中的每个单独的zip文件中的C:\ Users \ XX \ Desktop \ info \文件夹中创建一个单独的文本文件。 Zip,文本文件的名称是zip文件的名称。
Get-ChildItem -Path "C:\Users\XX\Desktop\Powershell\Zip" -Recurse -exclude '*.info' | ForEach { [System.IO.File]::WriteAllText("C:\Users\XX\Desktop\info\"+ $_.Name + ".txt", $_.FullName)}
ontop,我有下面的脚本获取zip文件的最后修改日期
$path = 'C:\Users\XX\Desktop\Powershell\Zip'
$files = Get-ChildItem $path -Recurse -excluse '*.info'
foreach($file in $files){
$file.lastwritetime
以及获取计算机名称的此命令
{
(Get-WmiObject Win32_Computersystem).name
}
所有这些都将在一个脚本中,但我需要脚本的第2和第3部分的输出附加到脚本第一部分中创建的文本文件,并附加到相应的文件。
我已经尝试了几个命令,主要是[System.IO.File] :: AppendAllText,但我似乎无法随意使用它。
我应该以正确的方式做任何想法?
三江源。
答案 0 :(得分:1)
你可以试试这个:
$path = 'C:\Users\XX\Desktop\Powershell\Zip'
$files = Get-ChildItem $path -Recurse -Exclude '*.info'
$ComputerName = (Get-WmiObject Win32_Computersystem).name
foreach($file in $files) {
$OutputFilePath = "C:\Users\XX\Desktop\info\"+ $file.Name + ".txt"
[System.IO.File]::WriteAllText($OutputFilePath, $file.FullName)
$file.lastwritetime | Add-Content $OutputFilePath
$ComputerName | Add-Content $OutputFilePath
}