Comparer des répertoires
Afin de comparer deux répertoires locaux côte à côte, appeler la commande diff et fournir les chemins de répertoire en tant qu'arguments, par exemple :
<exec> diff "C:\Reports" "C:\ReportsNew" |
L'exemple ci-dessus exécute une comparaison rapide mais pas exacte (qui rapportera uniquement les nouveaux fichiers ou les fichiers manquants dans les deux répertoires). Cela est dû au fait que l'option --dir-compare-contents n'a pas été spécifiée, donc la valeur par défaut false est présumée.
Pour exécuter une comparaison en profondeur qui contrôlerait également les contenus de tous les fichiers et sous-répertoires se trouvant dans les répertoires comparés, définir le --dir-compare-contents=true, par exemple :
<exec> diff "C:\Reports" "C:\ReportsNew" --dir-compare-contents=true --mode=auto |
Si les deux répertoires contiennent des fichiers de type semblable, vous pourriez définir l'option --mode pour indiquer quel mode de comparaison vous souhaitez utiliser, par exemple, --mode=binary, --mode=text, ou --mode=xml. Sinon, définir --mode=auto, comme dans l'exemple ci-dessus. Dans ce mode, le programme comparera les fichiers de répertoire conformément à leur extension.
Comme les autres types de comparaison, les répertoires comparés peuvent se trouver soit sur le serveur soit sur l'appareil client. Afin de spécifier si les répertoires se trouvent sur le serveur ou sur le client, définir les options --server-left, --server-right ou --client-left, --client-right. Par exemple, dans la comparaison ci-dessous, le premier répertoire se trouve sur le serveur et le second se trouve sur l'appareil client :
<exec> diff --server-left="/home/altova/reports" --client-right="C:\ReportsNew" |
Il existe plusieurs autres options applicables aux répertoires que vous pouvez définir dans la ligne de commande, en particulier :
•--directory-filter, --df vous permet d'inclure ou d'exclure certains fichiers ou sous-répertoires depuis la comparaison basée sur les critères que vous définissez.
•--dir-compare-mod-times, --dt ajoute en tant que critère de comparaison l'heure à laquelle les répertoires comparés ou les fichiers ont été modifiés la dernière fois.
•--dir-compare-mod-times-ignore-seconds, --di lors de la comparaison des heures de modification (voir option précédente), cette option ignore les modifications de fichier ou de répertoire effectués dans le cadre du nombre spécifié de secondes.
•--dir-compare-sizes, --ds ajoute la taille du répertoire en tant que critère de comparaison.
•--dir-ignore-case, --dic ignore la casse dans les noms de fichier et de répertoire
•--output-file, --o vous permet de définir le nom du fichier de rapport (texte ou XML) où les résultats de comparaison seront enregistrés.
•--output-mode, --om vous permet de choisir un format pour le rapport de comparaison (XML ou texte).
L'option --output-mode=text n'est pas prise en charge si les répertoires comparés contiennent des fichiers XML, et si --dir-compare-contents=true. Le résultat de la comparaison des fichiers XML peut uniquement être rapporté en format XML. |
En outre, lorsque --dir-compare-contents=true, vous pouvez utiliser toutes les options de comparaison de fichier (comme celles qui commencent avec --doc, --text, ou, --xml, voir la référence de commande diff). Par exemple, si les répertoires contenant des fichiers de texte sont comparés, vous pouvez ignorer les lignes vierges ou la casse à l'intérieur des fichiers de texte avec une commande comme :
<exec> diff "C:\Reports" "C:\ReportsNew" --dir-compare-contents=true --mode=auto --text-ignore-case=true |