Добавить путь к архивному имени файла - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно добавить местоположение файла к его имени. Как это: C\user\someuser\folder\folder_logs

И имя заархивированного файла должно быть «2019_Jan_folder_logs».

Я получил его до даты, не могу добавить имя.

    $Zip = $target_path + "" + "{0:yyyy}_{0:MMM}" -f $_.LastWriteTime
    & "C:\Program Files\7-Zip\7z.exe" u -mx9 -t7z -m0=lzma2 $Zip $_.FullName | Out-Null
    if ($LastExitCode -eq 0) {
        Remove-Item $_.FullName
    }
}

1 Ответ

1 голос
/ 04 апреля 2019

В соответствии с желаемым именем почтового индекса, вы хотите, чтобы только последняя часть пути была включена в имя.
Если текущий файл $_ имеет, например, LastWriteTime от 1 апреля 2019 года, это

$targetpath = 'C:\user\someuser\folder\folder_logs'
$Zip = '{0:yyyy_MMM}_{1}' -f $_.LastWriteTime, (Split-Path -Path $targetpath -Leaf)

приведет к

2019_Apr_folder_logs

Однако в своем блоке кода вы меняете порядок и ставите $ targetpath перед новым именем. Делаем это и здесь:

$Zip = '{0}_{1:yyyy_MMM}' -f (Split-Path -Path $targetpath -Leaf), $_.LastWriteTime

Результат:

folder_logs_2019_Apr

Конечно, вы также можете добавить к этому фактическое имя файла $_.BaseName, если вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...