Exemples de scripts |

Voici quelques exemples de scripts pour montrer comment Beyond Compare peut utiliser des scripts. Vous pouvez utiliser ces scripts tels quels ou comme modèle pour vos propres scripts. Voici un script de base qui copie tous les nouveaux fichiers et les orphelins d'un dossier vers un autre, en utilisant une session créée auparavant :

load "Sync Portable"

sync update:left->right

Synchronisation de deux dossiers

Voici un script plus avancé qui synchronise deux dossiers spécifiques en utilisant des filtres avancés. Il fonctionne en chargeant des dossiers dans une session de Comparaison de Dossiers, et en exécutant une synchronisation de dossier "Miroir Gauche vers Droite".

# Journalise.

log normal "C:\Mon Journal.txt"

# Charger la session par défaut et exclut tout sauf certains types de fichier.

load <default>

filter "*.html;*.htm;*.png;*.jpg"

# Charger les dossiers de base.

load "C:\Mon Dossier" ftp://utilisateur@SiteWeb.com/dossier

# Copier les fichiers différents de la gauche vers la droite, supprime les orphelins de droite.

sync mirror:left->right

Comparaison de deux fichiers par leur nom

Ce script compare deux fichiers par leur nom.

file-report layout:side-by-side &

options:display-mismatches &

output-to:%3 %1 %2

Une exemple de ligne de commande appelant le script ci-dessus :

BCompare.exe @"Mon Script.txt" "Mon Fichier.txt" "Votre fichier.txt" "Mon Rapport.txt"

Note Une esperluette (&, "et" commercial) à la fin d'une ligne signifie que la commande continue sur la ligne suivante.

Note %1, %2 et %3 se réfère au 1er, 2ème et 3ème paramètre de la ligne de commande, respectivement.

Génération d'un rapport

Ce script compare deux fichiers par nom et génère un rapport html montrant les différences avec contexte :

text-report layout:side-by-side &

options:ignore-unimportant,display-context &

output-to:%3 output-options:html-color %1 %2

Maintenir un site web synchronisé

Ce script maintient un site web synchronisé avec les fichiers de développement.

# Journalise de manière verbeuse.

log verbose append:"C:\Mon Journal.txt"

# Définir les critères de comparaison.

criteria timestamp size

# Charger les dossiers source et cible.

load "C:\Mon Dossier" ftp://utilisateur@SiteWeb.com/dossier

# Filtre pour n'inclure que les fichiers source, en ignorant les sous-dossiers CVS.

filter "*.htm;*.html;*.php;*.jpg;*.gif;-CVS\"

# Synchronise les fichiers locaux avec le site web, tout en créant les dossiers vides.

sync create-empty mirror:left->right

Exécution d'une comparaison basée sur des règles, et journalisation des résultats dans un fichier

Ce script journalise les résultats du script dans un fichier qui utilise la date actuelle comme partie du nom de fichier. La variable %date% est étendue par le script dans le format 2012-12-31 sur les systèmes américains en anglais, sur les autres systèmes, il correspondra aux localisations du système. Il exécute une comparaison basée sur des règles de fichiers source en Pascal, et génère un rapport texte des différences.

# Journalise vers un fichier de la forme "C:\Mon Journal 2012-12-31.txt".

# Le format exact dépend de vos options régionales et linguistiques.

log verbose append:"C:\Mon Journal %date%.txt"

# Comparer le contenu textuel des fichiers.

criteria rules-based

# Compare uniquement les fichiers source Delphi, ignore le dossier archive.

filter "*.pas;*.dfm;*.dpr;*.inc;-archive\"

load "C:\Mon Dossier" "C:\Votre dossier"

folder-report layout:summary &

options:display-mismatches,column-attributes,column-timestamp,column-size &

output-to:"Mon Rapport.txt"

Comparaison de l'état actuel d'un dossier avec un Instantané

Ce script compare l'état actuel d'un dossier avec un cliché des dernières mises à jour envoyées. Ensuite, il copie les fichiers modifiés ainsi que les nouveaux vers un fichier archive, puis met à jour l'Instantané du dossier.

option confirm:yes-to-all

# Compare en utilisant le CRC.

criteria crc

# Charger les fichiers en cours par rapport à l'Instantané du dernier patch.

load "C:\Mon Dossier" "C:\Mon Instantané.bcss"

# Développe pour prendre en compte les sous-dossiers et les fichiers.

expand all

# Sélectionne les fichiers mis à jour.

select left.diff.files left.orphan.files

# Copier les changements vers un fichier archive.

copyto left path:relative "C:\Mon Archive.zip"

# Met à jour l'Instantané.

snapshot save-crc left output:"C:\Mon Instantané.bcss"

Génération d'un rapport de différences

Ce script génère un rapport de différences seulement.

# Définit les fonctionnalités de base de la comparaison.

criteria timestamp:2sec

# Filtre les fichiers journaux.

filter "-*.log"

# Charger la première comparaison.

load "C:\Mon Dossier" "C:\Votre dossier"

# Comparer des fichiers avec des différences d'horodatage.

select newer.files older.files

# Génère un rapport avec les différences.

folder-report layout:summary options:display-mismatches output-to:"C:\Mon Rapport.txt"