#windows #batch-file #command-line #extract #tar
#Windows #пакетный файл #командная строка #извлечь #tar
Вопрос:
Я хочу извлечь определенный файл с именем WholeImage.jpg
из .tar
файла в Windows.
Я заставил его работать в одном конкретном случае, в котором я указываю точное местоположение файла в .tar
файле:
tar -xf %~1 --strip-components 5 InspectionProjectList/InspectionProject0718/InspectionProgram001/Sensing/Board0003/WholeImage.jpg
Задача --strip-components 5
состоит в том, чтобы избавиться от ненужных папок при извлечении нужного файла.
Однако путь к файлу для WholeImage.jpg
изменений из tar-файла в tar-файл.
Части, которые изменяются, отмечены здесь знаком доллара:
InspectionProjectList/InspectionProject$$/InspectionProgram$$/Sensing/Board$$/WholeImage.jpg
Комментарии:
1. Если
Wholeimage.jpg
в этом архиве есть только один экземпляр, что плохого в использовании:@"%__AppDir__%tar.exe" -x --strip-components 5 -f "%~1" "*WholeImage.jpg"
?2. Если существует несколько изображений с таким именем, то вам, возможно, придется запустить
@"%__AppDir__%tar.exe" -tf "%~1" "*WholeImage.jpg"
и передать результаты,findstr.exe
чтобы сначала найти нужную вам строку элемента. (это также может дать вам возможность определить количество компонентов каталога для удаления) . Очевидно, что в обоих примерах%__AppDir__%
предполагается, что вы используете встроеннуюtar.exe
утилиту Windows 10; измените местоположение, если вашего нет вWindowsSystem32