У меня есть этот фрагмент кода powershell, ниже которого создается отдельный текстовый файл в папке C: \ Users \ XX \ Desktop \ info \ из каждого отдельного zip-файла в папке C: \ Users \ XX \ Desktop \ Powershell \ 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)}
наверх, что у меня есть сценарий, ниже которого получает дату последнего изменения для архивных файлов
$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, но я не могу найти что-либо с этим.
Любые идеи на правильном пути Я должен это делать?
Thankyou.
Перемещение 'Get-WMIObject' из цикла, нет необходимости повторно запрашивать имя машины, как вы получите тот же ответ каждый раз. WMI также может быть довольно медленным, поэтому это может значительно замедлить время выполнения. – arco444
Правда. Я отредактировал свой ответ, чтобы переместить «Get-WmiObject Win32_Computersystem» из цикла Foreach, чтобы избежать повторяющегося запроса WMI. –