J'écris un fichier batch sur Windows qui obtient un argument: un nom de fichier zip qui a été créé avec 7-zip.Besoin d'aide pour l'écriture d'un fichier batch
Ce fichier contient un seul fichier de sauvegarde MySQL à l'intérieur, disons backup.sql
.
Je voudrais restaurer la base de données compte tenu de ce fichier zip.
Alors, d'abord je l'extraire dans un répertoire temporaire comme celui-ci:
path_to_7zip\7z e "%~1" -otemp_dir
Et est maintenant ma question: Comment pourrais-je connaître le nom du fichier extrait (à savoir backup.sql
)?
Je voudrais écrire quelque chose comme ceci:
path_to_mysql\mysql < extracted_file_name
(où extracted_file_name
devrait être backup.sql
)
Que dois-je écrire au lieu de extracted_file_name
si je ne connais pas le nom de fichier qui est à l'intérieur le fichier zip?
Comment dois-je rassembler le nom dans une variable? –
Si le répertoire temporaire était initialement vide, utilisez la commande 'for' pour exécuter la commande mysql sur chaque fichier de ce répertoire. Je ne connais pas la syntaxe exacte, mais c'est quelque chose comme 'for/f% s in (% tempdir/*) fait mysql <% s'. –
Ajout d'exemples, voir la réponse originale. –