Как решить, что название файла, извлеченного из zip, архивирует с помощью сценария пакетной обработки

Фон

У меня есть пакетный файл на Windows XP, который берет один аргумент: название zip-файла, которое было создано с с 7 zip.

Этот файл содержит единственный файл резервной копии MySQL внутри: backup.sql.

Я хотел бы восстановить базу данных, учитывая этот zip-файл. Сначала я извлекаю его к временному каталогу как это:

path_to_7zip\7z e "%~1" -otemp_dir

Я хотел бы иметь что-то вроде этого (где extracted_file_name был бы backup.sql):

path_to_mysql\mysql < extracted_file_name

Вопрос:

Как я разрабатываю название извлеченного файла (т.е. backup.sql)?

Что я должен предоставить, как введено вместо extracted_file_name если я не знаю имени файла, которое является в zip-файле?

1
задан 02.02.2012, 07:38

2 ответа

Вы могли создать пакетный файл, содержащий ниже шагов.

cd\7ztemp
del \7zout\*.* /q
7z e *.7z -o\7zout
cd\7zout
for %%f in ( *.sql) do mysql ^< %%f

Предположения, что я сделал:

  • 7ztemp каталог, к которому файл загружается и не содержит никакие другие файлы
  • 7zout каталог, к которому 7z файл извлечен к. Я удаляю существующие файлы в 7zout прежде, чем извлечь архив
3
ответ дан 12.12.2019, 10:39

Если существует только один файл в папке затем, Вы могли бы использовать DIR /B перечислять содержание.

Единственная запись была бы файлом, который был распакован.

0
ответ дан 12.12.2019, 10:39

Теги

Похожие вопросы