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

У меня есть скрипт powershell, который архивирует все файлы, которые не являются файлами ps1 и csv, и он работает, но если zip-архив уже существует, мне придется скопировать архив или удалить его перед повторным запуском команды, в противном случаеПоявляется ошибка, указывающая, что файл уже существует.

Get-ChildItem -Path .\* -Exclude *.ps1, *.csv | Compress-Archive -DestinationPath .\NonEssArch.zip -verbose

Add-Type -AssemblyName PresentationFramework

$msgBoxInput =  [System.Windows.MessageBox]::Show('Do you also want to delete these non-essential files?','Attention','YesNo','Info')

switch  ($msgBoxInput) {
  'Yes' {
  del -Path *.* -Exclude *.csv, *.ps1, *.zip
  }
  'No' {
  Exit
  }
}

Я хочу иметь возможность запустить скрипт после того, как архив уже создан, без замены существующего архива.Проблема заключается в части "-DestinationPath. \ NonEssArch.zip", но у меня возникают проблемы с реализацией системы нумерации.

Любая помощь будет оценена, спасибо.

1 Ответ

1 голос
/ 05 мая 2019

Самый простой способ «уникального ify» имени файла - добавить к нему временную метку. Вы можете настроить гранулярность в соответствии с вашей ситуацией. вплоть до миллисекунд, если это необходимо. [ ухмылка ]

как то так ...

$NewFileName = 'NonEssArch_{0}.zip' -f (Get-Date).ToString('yyyy-MM-dd_HH-mm-ss')

прямо сейчас, это дало бы вам ...

NonEssArch_2019-05-04_17-12-27.zip
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...