Я хотел бы создать файл журнала для моего скрипта powershell
Этот скрипт состоит из 2 файлов powershell o 1 поискового файла o 1 ini-файла Это ini-файл, которыйЗапущен файл поиска вызывается из INI-файла.
Сценарий использует файл CSV-файла_ini o Формат -> старый; новый
Комуавтоматически генерировать файл журнала (например, файл .txt) при каждом запуске скрипта, который содержит следующую информацию: список и, следовательно, количество строк, видимых в CSV. Итак, число ini-файлов для поиска со старым значением o Numberколичество найденных файлов. Количество перемещенных и переименованных файлов. o Если и только если один или несколько искомых файлов не существуют, просмотрите список файлов, не найденных. Кроме того, я хотел бы получить файл журнала: o Либо в формате txt."log_ini_date_heure.txt" log_ini -> никогда не изменяется с датой -> динамически, так что это переменная времени -> динамически, поэтому это переменная или она сохраняется в каталоге, где скриптt находится Представьте, что:
- Мой CSV содержит abc; abc2 и aabb; aabb2
- Я запускаю скрипт o Он смотрит на первый каталог Find abc -> он перемещает его ввторой каталог и переименовывает его abc2 не может найти aabb перестает работать, так как ему больше нечего искать o Затем он генерирует log_ini_06022019_13h25, который указывает количество найденных файлов: 2
- abc
- число aabbнайдено файлов: 1 Файл не найден:
- aabb
ini.ps1
Import-module ".\search.ps1"
$CSVFile = Import-CSV "\\ppwp0040\RAPW10\Ini\INI_SCCM\file_ini.csv" -Delimiter ";"
$INIFiles1= Get-ChildItem \\ppwp0040\RAPW10\Ini\INI_SCCM\INI_MACHINE\*.ini
foreach($INIFile in $INIFiles1) {
foreach($entry in $CSVFile) {
if($entry.old -eq $INIFile.BaseName) {
Write-Host ("[{0}] {0} renamed to {1}" -f $entry.old,$entry.new) -ForegroundColor:Green
Rename-Item -LiteralPath $INIFile.FullName -NewName ("{0}{1}" -f $entry.new,$INIFile.Extension)
}
}
}
Write-Host ("FINISH TYPE TO FINISH") -ForegroundColor:Green
pause