Сценарий bat, чтобы распаковать файл .gz в папке и извлечь ее в другое место - PullRequest
0 голосов
/ 26 апреля 2020

Мне нужно знать, как написать скрипт bat, чтобы разархивировать файл в определенном месте и сохранить извлеченный файл в другом месте, а также мне нужно удалить исходный файл после завершения извлечения.

Например, предположим, что мой файл .gz находится в папке C:\Users\jibin\Desktop\CDR\, и мне нужно извлечь все файлы в этом месте в C:\Users\jibin\Desktop\CDR\CDR_Extract (место назначения).

Ответы [ 3 ]

0 голосов
/ 26 апреля 2020

Если вы используете , версия 1803+, (с декабря 2017 года по апрель 2018 года - минимум 10.0.17063 ), то вам может быть лучше используйте встроенный исполняемый файл:

@If Exist "C:\Users\jibin\Desktop\CDR\*.gz" (
    If Not Exist "%__AppDir__%tar.exe" Exit /B 1
    PushD "C:\Users\jibin\Desktop\CDR"
    If Not Exist "CDR_Extract\" MD "CDR_Extract" 2>NUL || Exit /B 1
    For %%G In (*.gz) Do @("%__AppDir__%tar.exe" -xf "%%G" -C "CDR_Extract"
        If Not ErrorLevel 1 Del "%%G")
    PopD)
0 голосов
/ 26 апреля 2020

Без необходимости устанавливать стороннее программное обеспечение - вы можете использовать gzip js .bat :

md "C:\Users\jibin\Desktop\CDR\CDR_Extract\" >nul 2>&1
for %%# in ("C:\Users\jibin\Desktop\CDR\*.gz") do (
  call gzipjs.bat -u "%%~f#" "C:\Users\jibin\Desktop\CDR\CDR_Extract\%%~n#"
  rem del "%%~f#" /q /f
)

Проверьте, нужно ли вам это, и удалите слово rem в последнем файле, чтобы активировать удаление исходных файлов, как вы просили.

Если вы используете windows 10 со всеми последними обновлениями (от сборки 17063 и выше ) вы можете использовать TAR .

0 голосов
/ 26 апреля 2020

Этого легко достичь, используя 7-zip в сочетании с forfiles, что-то вроде (не проверял, не убивайте меня, если это не сработает сразу):

forfiles /M *.gz /C "cmd /c 7z x @path -oC:\Users\jibin\Desktop\CDR\CDR_Extract *.* -r"

Где:

x   means "extract"
-o  means "output directory"
*.* means "filename inside can be anything, extract every file"
-r  means "recursive subdirectories"

Удаление zip-файла после этого очевидно.

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