Команда 7z
в предоставленном вами пакетном файле использует полный путь к входному файлу для получения выходного файла.
Чтобы изменить это, вы можете изменить "%~1.zip"
его, "<destinationPath>\%~nx1.zip"
как показано ниже, или, "<destinationPath>\%~n1.zip"
если вам не нужно, чтобы расширение исходного файла было в новом имени файла.
@echo off if [%1]==[] goto :eof :loop 7z a -tzip "<destinationPath>\%~nx1.zip" "%~1" shift if not [%1]==[] goto loop
В целях разъяснения:
%~1
представляет полное имя пути первого ввода (например: C: \ my \ path \ text.txt)%~n1
представляет имя файла только первого ввода (например, текст)%~x1
представляет расширение только первого ввода (например: .txt)- Эти два объединены в
%~nx1
, который представляет имя файла и расширение первого ввода (например: test.txt)