У меня есть скрипт powershell, который редактирует CSV и сохраняет его. Затем я копирую CSV, но сохраняю его как .txt
Мне сказали, что переименование из filename.csv в filename.txt не является правильным способом (на мой взгляд, это работает), но есть другой способ сохранить CSV как файл TXT «правильно»
Это текущий способ сохранения CSV как .TXT
$csv = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\20190522-Name-Num-Location-hey-hey.csv'
$path = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\'
$pathdone = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\done'
$txtfile = $date + $lastname + "-" + $lastxxx + "-" + $lastnum + "-" + $lastxxxtwo + "-" + $lastloc + "-" + $newid + ".txt"
# Save txt file as new format
Copy-Item "$csv" -Destination "$path$txtfile"
Напоминание, мой метод работает и выводит .TXT, но есть ли другой способ "правильно" сделать это без переименования "copy-item и сохранения его как txt"
$data = Import-Csv -Path $csv -Header 'Stuff','City','Number','InStock' # or add whatever headers you like
# get the first column as array of values
$column1 = $data.Stuff
# rotate the array values
switch ($column1.Count) {
1 { Write-Host "Nothing to do here. There is only one row of data.."; break}
2 {
# swap the values
$data[0].Stuff,$data[1].Stuff = $data[1].Stuff,$data[0].Stuff
break
}
default {
$newColumn1 = @($column1[-1]; $column1[0..($column1.Count -2)])
# re-write the first column in the data
for ($i = 0; $i -lt $newColumn1.Count; $i++) {
$data[$i].Stuff = $newColumn1[$i]
}
}
}