У меня есть партия файлов расширений csv в формате JSON в Content, и я пытался преобразовать их в формат csv с разделителями, используя powershell.
После преобразования одного JSON файла его необходимо переместить в другой каталог для резервного копирования после преобразования. Приведенный ниже скрипт работает, только если импортировать один файл stati c из одного каталога. Я пытаюсь использовать «Get-ChildItem | foreach-object», но по какой-то причине это не работает. При запуске этого сценария все файлы из raw будут сразу же перемещены в папку резервного копирования, но в преобразованной папке нет файлов, преобразованных.
Такое ощущение, что скрипт преобразования # execute вообще не запускался. Я не слишком уверен, если $ from Json = Get-Content -Raw $ InputPath | ConvertFrom- Json "работает для импорта файлов по l oop.
Нужна помощь!
рабочий скрипт:
$InputPath ="C:\Users\Desktop\raw\a.csv"
$OutputPath = "C:\Users\Desktop\raw\Converted\$(get-date -f yyyy-MM-ddhhmmssfffff).csv"
$fromJson = Get-Content -Raw $InputPath | ConvertFrom-Json
& {
# execute converting script
} | ConvertTo-Csv -NoTypeInformation | Select-Object -Skip 1 | Set-Content -path $OutputPath
Move-Item -path $InputPath -destination "C:\Users\Desktop\raw\backup"
Скрипт с проблемой:
$InputPath ="C:\Users\Desktop\raw\*.csv"
Get-ChildItem $InputPath| Foreach-Object{
$OutputPath = "C:\Users\Desktop\raw\Converted\$(get-date -f yyyy-MM-ddhhmmssfffff).csv"
$fromJson = Get-Content -Raw $InputPath | ConvertFrom-Json
& {
# execute converting script
} | ConvertTo-Csv -NoTypeInformation | Select-Object -Skip 1 | Set-Content -path $OutputPath
Move-Item -path $InputPath -destination "C:\Users\Desktop\raw\backup"
}