Добавить текст к началу имени файла с помощью powershell - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь добавить текст в начало имени файла с помощью powershell на сервере Windows 2008 R2. Я перемещаю файлы на другой сервер и пытаюсь использовать Rename-Item. Ниже приведены три способа, которые я попробовал.

    $prefix = "Voucher_"
    $TestFile = "\\fileshare\ftp\Test\M1HPVWZR" 

    $DateStamp = get-date -uformat "%Y-%m-%d_%H-%M-%S"
    Rename-Item -Path $TestFile -NewName $($prefix)$TestFile$DateStamp
    Rename-Item -Path $TestFile -NewName ($TestFile$DateStamp -replace "M1H","Voucher_M1H")     
    Rename-Item -Path $TestFile -NewName {"M1HPVWZR_" + $TestFile$DateStamp} 

Используя тот же лог c, он работает, когда я добавляю префикс $, как показано ниже, и работает нормально, если я просто изменяю имя на $ TestFile $ DateStamp, также показанное ниже.

    Rename-Item -Path $TestFile -NewName $TestFile$DateStamp$prefix
    Rename-Item -Path $TestFile -NewName $TestFile$DateStamp$prefix

Любая помощь будет принята с благодарностью. - Спасибо

1 Ответ

0 голосов
/ 06 февраля 2020

У вас неправильный синтаксис. Любой из приведенных ниже будет работать.

# Encapsulating the variables in quotes will expand them and treat them as one for the -replace
Rename-Item -Path $TestFile -NewName ("$TestFile$DateStamp" -replace 'M1H','Voucher_M1H')

# Combines two string variables with +
Rename-Item -Path $TestFile -NewName ($TestFile+$DateStamp -replace 'M1H','Voucher_M1H')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...