Использование Powershell для преобразования csv в txt и переименования числовой последовательности - PullRequest
0 голосов
/ 17 мая 2019

Я беру файл .CSV и корректирую некоторые значения, затем сохраняю CSV, а также выводю файл .TXT. Я пытаюсь заставить скрипт powershell назвать файл .CSV как 20180720-Name-Location-0001.txt (Date-Name-Location-0001.txt) Каждый раз, когда скрипт запускается (при необходимости), я хочу, чтобы он проверял старый файл (20180720-Name-Location-0001.txt) и повторял шаг 1, чтобы настроить некоторые значения из CSV, сохранив его как 20180720-Name-Location- 0002.txt (Примечание. Я хочу, чтобы число в конце +1 к имени). После создания нового файла я хочу, чтобы он переместил старый файл (0001.txt в папку с именем «done»).

#OPEN CSV
$filevalue = 'C:\test\20180720-Name-Location-0001.csv'
$path = 'C:\test'
$file = 'test.txt'
$file2 = '20180720-Name-Location-0001.csv'
$date = Get-Date -Format "yyyy-MM-dd-"
$filename = ($date + "-" + "ACME-YELP-36-AL_01")

Copy-Item "C:\test\20180720-Name-Location-0001.csv" -Destination "C:\test\$filename.txt"


#$originalFiles = Get-ChildItem "C:test\" -Filter *.txt
#$x = ("-000" + 1 + ".txt")

#Gets Todays Date

$Today = Get-Date -Format 'yyyy-MM-dd'

# delete any existing test file
#$Null = Remove-Item -Path "$env:TEMP\$($Today)_*.txt" -ErrorAction SilentlyContinue
# create a file to work with
#$Null = New-Item -Path $env:TEMP -Name "$($Today)_07.txt" -ItemType File -ErrorAction SilentlyContinue

# pretend to access the listing 17 times
1..17 |
    ForEach-Object {
        $FileInfo = Get-ChildItem -LiteralPath "C:\test\" -Filter "*.txt"
        $OldSeqNumber = $FileInfo.BaseName.Split('_')[-1]
        $NewSeqNumber = '{0:D2}' -f ([int]$OldSeqNumber + 1)

        $NewFileName = $FileInfo.Name.Replace("_$OldSeqNumber", "_$NewSeqNumber")

        Rename-Item -LiteralPath "C:\test\2019-05-08--Name-LOC_01.txt" $FileInfo.FullName -NewName $NewFileName
        }


Я застрял

...