Synchronisation de répertoire / mode "batch"

French support forum

Moderators: Stefan2, white, nsp

Post Reply
User avatar
Mjolnir
Member
Member
Posts: 133
Joined: 2005-10-08, 21:03 UTC

Synchronisation de répertoire / mode "batch"

Post by *Mjolnir »

Petite question, je n'ai rien trouvé à ce propos dans l'aide de TC : est-il possible d'effectuer la synchronisation de répertoire en mode "batch/ligne de commande" ?

En fait, j'ai l'habitude d'Apparier deux "répertoires" :
- un disque d'un coté (T:\),
- et en passant, pour le second, par une vue en utilisant DiskDir (g:\THome.lst),
- puis, en copiant le résultat -les fichiers diff.- dans un autre répertoire temporaire (g:\TSynchroTemp\) à transporter...
= un répertoire au boulot -vs- une "image" (DiskDir) du répertoire chez moi, pour ne "trimbaler" que les changements.

J'aimerai effectuer cette manœuvre automatiquement...
Ma seule idée est de scripter cela (autoit par ex. (*), je connais bien), mais je ne sais pas s'il existe cela de manière interne sous TC, ce qui serai plus pratique pour moi... des idées ?!



(*) Script AutoIt :

Code: Select all

; Synchro - Mjr - Rev A.04b
; CmdLine Possible : SynchroT.au3  [ <DumpTargetFolder.lst> ]  |  [ <SourceFolder> <TargetFolder|DumpTargetFolder.lst> [ <DiffCopyFolder> ] ]

$Debug_PerformSynchroniserApparier	= False

$SleepXBetweenCmds			= 150
$SleepXForComparaison		= 5000

$FolderSource				= "T:\"
$FolderTarget				= "g:\DumpT.lst"
$FolderCopyTarget			= "g:\TSynchroTemp\"

$ExcludedComparePatterns	= "*.*|RECYCLER\ TRASH\ TEMP\ CORBEILLE\ " & Chr(34) & "System Volume Information\"& Chr(34) & " _BKP_\ _Update_\"

If $cmdLine[0] = 1 Then
	$FolderTarget			= $cmdLine[1]
ElseIf $cmdLine[0] = 2 Then
	$FolderSource			= $cmdLine[1]
	$FolderTarget			= $cmdLine[2]
	$FolderCopyTarget		= $FolderTarget
ElseIf $cmdLine[0] = 3 Then
	$FolderSource			= $cmdLine[1]
	$FolderTarget			= $cmdLine[2]
	$FolderCopyTarget		= $cmdLine[3]
EndIf


; If Target Dir not exists, create it...
If Not FileExists($FolderCopyTarget) Then DirCreate($FolderCopyTarget)


Func SendCmdAndSleepX($Cmd)
	Send($Cmd)
	Sleep($SleepXBetweenCmds)
EndFunc


; Unselect all, in both right & left windows
SendCmdAndSleepX("{NUMPADSUB}")
SendCmdAndSleepX("*.*")
SendCmdAndSleepX("{Enter}")
SendCmdAndSleepX("{Tab}")
SendCmdAndSleepX("{NUMPADSUB}")
SendCmdAndSleepX("*.*")
SendCmdAndSleepX("{Enter}")

; Open the "Synchro" popup window
SendCmdAndSleepX("!C")
SendCmdAndSleepX("y")

WinWaitActive("Apparier des répertoires")

; Specify source
SendCmdAndSleepX("+{Tab 5}")
SendCmdAndSleepX($FolderSource)

; Exclude RECYCLER folder(s)
SendCmdAndSleepX("{Tab 2}")
SendCmdAndSleepX($ExcludedComparePatterns)

; Specify target
SendCmdAndSleepX("{Tab}")
SendCmdAndSleepX($FolderTarget)


; Run Comparaison
SendCmdAndSleepX("!C")

; Copy in Clipboard the "target to copy diff. files" folder
ClipPut($FolderCopyTarget)



; Process with [Apparier] button ?
If $Debug_PerformSynchroniserApparier Then

    Sleep($SleepXForComparaison)

    ; Press [Apparier] button
    SendCmdAndSleepX("!A")

    WinWaitActive("Synchroniser-Apparier")

    ; Tune Synchro
    SendCmdAndSleepX("{TAB}")
    SendCmdAndSleepX($FolderCopyTarget)
    SendCmdAndSleepX("!C")


	; Go on Synchro...
	SendCmdAndSleepX("{Enter}")

	; Wait for "go back"
	$RetVal = WinWaitActive("Apparier des répertoires","",300)

	; Esc back to TC
	If $RetVal <> 0 Then SendCmdAndSleepX("{Esc}")
EndIf
Attention, cela nécessite que les options "d'Appareillage" (Asymétrique, Ignorer date, ...) soient déjà définies à votre convenance.
Longue vie a TC... déjà + de 20 ans de bons et loyaux services chez moi !
najnovijesportskevesti
New Member
New Member
Posts: 1
Joined: 2011-04-22, 22:21 UTC
Location: ny
Contact:

Synchronisation de répertoire / mode "batch"

Post by *najnovijesportskevesti »

Quand le filtrage logiciel est actif jeu de rčgles évolué non modifié, la synchronisation de lhorloge de Windows est impossible.

Une idée pour résoudre ce problčme? Merci davance.

OS: Windows 7

Bon week-end.
Post Reply