Я создал простой сценарий PowerShell, чтобы изменить значение заголовка одного столбца в группе файлов CSV. Когда я запускаю сценарий в виде файла .ps1
в тестовой папке, содержащей 25 файлов CSV, скрипт, как представляется, запускается (появляется мигающий курсор), но он работает уже более часа, и пока нет выходных файлов.Простой скрипт появляется навсегда, без выхода ...?
Может ли кто-нибудь указать, что здесь может быть неправильным? В прошлом я написал и выполнил несколько сценариев PowerShell на этом компьютере, но никогда не сталкивался с этой проблемой, и поиск не дал никаких результатов.
#Rename the first Column header in each output file to 'VZA' so you can work
#with the data
#Iterate code through 211 possible files
$i = 1
While ($i -le 211) {
#Set the variable to the filename with the iteration number
$filename = "c:\zMFM\z550Output\20dSummer\20dSum550Output$i.csv"
#Check to see if that a file with $filename exists. If not, skip to the next
#iteration of $i. If so, run the code change the column header
If (Test-Path $filename) {
#Import the CSV and change the column header to VZA
Import-CSV $filename |
Select-Object @{ expression={_."550 1587600 VZA"}; label='VZA' } |
Export-Csv -NoType "c:\zMFM\z550Output\20dSummer\fixed20dSum550Output$i.csv"
}
}
EDIT: Оказывается я пропустил $i++
срок и код теперь работает должным образом, однако, вывод состоит только из VZA
заголовка и ни один из данных из импортируемого файла CSV. Где я ошибаюсь, я предполагаю, что где-то в коде Select-Object
?
Где в сценарии вы модифицирования '$ i'? Я вижу, что он задан изначально, а затем никогда не менялся, а это значит, что он всегда будет меньше 211, и цикл никогда не остановится. –
Ага, я определенно пропустил $ i ++, я должен был включить между последними двумя фигурными скобками. Задача решена. Спасибо, сэр! – AggroCrag
Теперь, когда код запущен, в результатах появилась еще одна проблема - вывод не содержит ничего, кроме заголовка «VZA» и ни одного из данных из входного CSV-файла. Любая идея, где я ошибаюсь, или я должен задать этот вопрос в новой теме? – AggroCrag