Как заархивировать файл с именем файла в качестве имени архива? - PullRequest
0 голосов
/ 05 марта 2020

Я автоматизирую передачу одного файла .DMP из нескольких мест на мой сервер. Каждое местоположение имеет свой собственный файл с уникальным идентификатором.

Eg:
Location 1 - Data-1.DMP
Location 2 - Data-2.DMP
Location-20 - Data-20.DMP

Файлы имеют средний размер 5 МБ, поэтому я хочу сжать их перед передачей по SFTP. Я предпочитаю делать это через BAT-файл, если это возможно.

И да, я могу вручную иметь отдельные BAT-скрипты для каждого местоположения, но мне бы очень хотелось иметь один файл-скрипт, который будет работать универсально.

Мне удалось добиться этого с помощью PowerShell, но поскольку я смешал Windows ОС, начиная с POSReady 2009, Win 7 и Win 10, настройка PowerShell является проблемой, особенно для клиентов POSReady. Итак, я действительно ищу способ сценария BAT.

1 Ответ

0 голосов
/ 05 марта 2020

Не уверен, поможет ли это, так как я не совсем уверен, что вы пытаетесь сделать. Чтобы получить уникальный номер с расширением файла из пакетного файла, вы можете использовать следующее:

for /f "usebackq tokens=1" %i in (`dir /b`) do for /f "usebackq tokens=2 delims=-" %j in (`echo %i`) do echo %j

Получается " 1.DMP, 2.DMP ... " Надеюсь, это может указать вам правильное направление.

...