0

我在下面有这段 powershell 代码,它从文件夹 C:\Users\XX\Desktop\Powershell\Zip 中的每个单独的 zip 文件在文件夹 C:\Users\XX\Desktop\info\ 中创建一个单独的文本文件,其中文本文件的名称是 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)} 

最重要的是,我有下面的脚本,它获取 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 
}

所有这些都将在一个脚本中,但我需要脚本的第二和第三部分的输出附加到脚本第一部分中创建的文本文件,附加到适当的文件。

我尝试了几个命令,主要的命令是 [System.IO.File]::AppendAllText,但我似乎对此无能为力。

关于我应该这样做的正确方式的任何想法?

谢谢你。

4

1 回答 1

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
}
于 2015-01-12T12:20:58.377 回答