11
votes

7-ZIP Commandline

Je crée un utilitaire de sauvegarde qui ferme tous les fichiers répertoriés dans un fichier texte. J'utilise l'accès MS comme mon front-end et 7 zip pour la compression. Ce sont les commandes que j'utilise: xxx

Tous les fichiers sont compressés sans leur chemin. Existe-t-il un moyen d'inclure le chemin pour chaque fichier dans le fichier zip? Ensuite, lorsque Backup.zip est extrait. Les fichiers seraient restauts sur leur structure de dossier d'origine.

merci


2 commentaires

Et si vous parvenez à incorporer des chemins dans le fichier zip, utilisez des chemins relatifs ou vous ne pourrez pas les restaurer ailleurs, mais l'emplacement d'Orignal.


"Comment pouvons-nous rendre notre outil comme étant obtus à utiliser dans la ligne de commande que possible ...? Hmm ... oh je sais! Comme ça!"


7 Réponses :


4
votes

Le programme de ligne de commande pour 7-zip est 7z ou 7za. Voici un POST utile sur les options disponibles. L'option -R (recueil) stocke les chemins.


1 commentaires

Merci Vinay pour la réponse .. Mais je ne trouve pas 7za.exe dans mon répertoire 7-zip, aussi 7z.exe a 0 octets. J'ai utilisé 7zg.exe car il affiche une barre de progression de l'interface graphique plutôt que d'un écran DOS. Le seul problème est que cela n'inclut pas le chemin où le fichier est situé



-1
votes

au lieu de l'option a Option x , cela créera les répertoires mais uniquement pour l'extraction, pas la compression.


1 commentaires

Non pertinent; L'OP a demandé de stocker des chemins dans le fichier sur la compression et non sur la décompression.



6
votes

dans Ce fil de forum à 7 zip , dans lequel Beaucoup de gens expriment leur désir de cette fonctionnalité, le développeur de 7-Zip Igor pointe vers le Question FAQ intitulée " Comment puis-je stocker plein chemin du fichier dans les archives? " atteindre un résultat similaire.

bref:

  • Séparez les fichiers par volume (une liste des fichiers sur C: \ , un pour D: \ , etc.)
  • puis pour la liste des fichiers de chaque volume,
    1. CHDIR au répertoire racine du volume approprié (par exemple, CD / D C: \ )
    2. Créer une liste de fichiers avec les chemins relative au répertoire racine du volume (par exemple, C: \ foo \ bar devient foo \ bar )
    3. Effectuer 7Z une archive.7z @Filelist comme avant avec cette nouvelle liste de fichiers
    4. Lors de l'extraction avec des chemins complets, assurez-vous que CHDIR au répertoire racine du volume approprié d'abord

0 commentaires

1
votes

Je n'ai pas regardé cela, mais tirant de la hanche, je dirais qu'ils ont laissé tomber le support de ligne de commande dans le portable. La raison pour laquelle les gens ne font pas beaucoup de choses de ligne de commande dans des applications portables sont que le système d'exploitation (Windows de votre cas) exige que les exécutables soient ajoutés à la liste d'inclusion de% du chemin de path.

Si cette exigence n'est pas remplie à l'aide des utilitaires de ligne de commande est plutôt fastidieuse.

7Z -A .

serait

D: \ portable \ z7 \ z7 -a c: \ to \ archive \ dossier *. *

Dactylographier que tout est la raison pour laquelle Gui ait un sens avec des choses comme des applications portables qu'elle (l'application) peut se souvenir de son emplacement propre et de gérer ce genre de choses pour vous et si vous ne pouvez pas l'exécuter, vous savez que ce n'est pas attaché.

Si vous voulez vraiment que l'application portable contienne que vous puissiez toujours installer la version complète et tirer le 7Z.EXE OUT requis et placez-le dans le dossier portable en vous assurant qu'il est dans la DLL requise.

Vous devrez définir votre chemin lorsque vous touchez la coquille après avoir assuré qu'il est attaché.

http://www.redfernplace.com/software-projects/patheditor/ - un bon éditeur de chemin d'accès (DOWN) utile si vous avez beaucoup d'informations sur le chemin 20+ Get Difficile à lire.

http://www.softpedia.com/get/ System / System-Divers / Chemin-Editor.shtml - Source d'allet pour Path Editor

Il n'est pas conseillé de modifier votre chemin système pour les disques TEMPROARY "portable", bien que Manualy, faites cela par:

chemin de réglage =% chemin%; "D: \ portable \ z7 \";

Lorsque vous exécutez DOS cmd.exe ou http://sourceforge.net/p/onemu / home / home /

Les autres réponses abordent d'autres problèmes mieux je ne vais pas essayer ..

http://www.codejacked.com/zip -P -UP-Fichiers-de-la-commande-ligne / - Bonne référence pour l'utilisation de la ligne de commande de Z7 et Z7A.

PS: Désolé pour le Necro, mais je pensais que cela avait besoin d'une réponse plus directe pour pourquoi (même si elle est simplement spéculative).


0 commentaires

0
votes

depuis 7-zip 9.25 alpha em> Il existe un nouveau commutateur code> -spf code> qui peut être utilisé pour stocker les chemins de fichiers complets, y compris la lettre de lecteur à l'archive.

7zG.exe a -spf c:\BAckup\backup.zip @c:\temp\tmpFileList.txt


0 commentaires

0
votes

7-zip veut des chemins relatifs dans le fichier de liste Sinon, il ne stockera que les noms de fichiers, provoquant une erreur de nom de fichier en double.

En supposant que votre liste contient des noms de chemin complets:

  • Modifiez le fichier de liste pour supprimer le préfixe du lecteur, c: \
  • Assurez-vous que vous êtes à la racine du lecteur lorsque vous exécutez 7Z pour utiliser le fichier de liste ci-dessus.
  • alors il stockera les chemins et ne se plainera pas du nom duplicate. Il veut des chemins relatifs dans le fichier de liste.

    Si votre fichier de liste a des chemins par rapport à un autre dossier, vous devez exécuter 7Z à partir de ce dossier.

    MISE À JOUR: J'ai remarqué d'un autre poste au-dessus de la nouvelle option 7-Zip qui ne nécessite pas les étapes ci-dessus. Pas encore testé, mais mes étapes sont pour les versions antérieures qui n'ont pas cette option.


0 commentaires

1
votes

Essayez celui-ci. Cela a fonctionné pour moi. 7z.exe a d: \ newfilename.7z "d: \ existantfile.txt"

Ouvrir cmd et si vous avez installé une application 7zip, essayez ceci. Lors de l'invite de commande, il aimera C: \ Programmes et fichiers \ 7zip \ 7z.exe A D: \ Newfilename.7z "D: \ existantfile.txt"


0 commentaires