У меня есть сценарий ниже, который я хочу выполнить для всех .csv-файлов в каталоге. Я знаю, что могу использовать Get-ChildItems, но как отфильтровать его только для файлов .csv. \ И выполнить мой скрипт?Как выполнить скрипт PowerShell для всех CSV-файлов в каталоге?
import-csv .\chapters.csv |
ConvertTo-Json -Compress |
ForEach-Object {$_ -creplace '""NULL""','null'} |
Out-File .\chapters.json
Извините, не хотите, чтобы их объединить в один файл, но как выполнить скрипт для каждого файла? Таким образом, каждый json-файл будет создан для каждого (chapters.csv, authors.csv, books.csv и т. Д. Будут генерировать chapters.json, authors.json, books.json). – TruMan1
«glob» не означает сбор данных в один файл. Это стандартный вычислительный термин, который означает сопоставление имен (в частности, имен файлов) с использованием подстановочных знаков: http://en.wikipedia.org/wiki/Glob_%28programming%29. 'Get-ChildItem. \ * .csv' выберет все файлы с расширением **. Csv ** и будет кормить их один за другим в конвейере, который будет преобразован в объекты с помощью ** Import-Csv **. Вы даже попробовали? –
На самом деле, я просто заметил проблему, которая заключается в том, что выходной файл всегда ** chapters.json **, и он каждый раз перезаписывается, поэтому вы получите только результаты из последнего файла CSV. Я изменю ответ так, что файлы **. Json ** будут иметь те же базовые имена, что и файлы ** .csv **. –