Synchronization between two lists under Macro Scheduler

Hints, tips and tricks for newbies

Moderators: Dorian (MJT support), JRL

prolZ
Newbie
Posts: 10
Joined: Sun Oct 24, 2004 4:29 pm

Synchronization between two lists under Macro Scheduler

Post by prolZ » Sun Oct 24, 2004 4:47 pm

hello people,
i have a small problem.
i must generate a skript in macro scheduler this coordinates two lists for me.
The help program is total commander.
For example:
I have 4 files on c:\temp and 4 files on d:\temp.
On c:\ i get new files daily and now i must code an skript which copy this files on d:\ !!!
And then a message then shall be distributed. -->e.mail to [email protected]
My pre-consideration was to use the skript with Total Commander because in this program it's possible to sync. two lists under win XX....
And the another problem is i need the exactly date of the 4 files with YYYYMMDD and HHMMSS......

It is possible to help me because I must have this ready till next week!!!
Thankz for our answers...

prolz

Lumumba

Post by Lumumba » Mon Oct 25, 2004 9:02 am

Seems not to difficult to accomplish.
this coordinates two lists for me
Synchronize ? Compare? Merge? Replace ?
i need the exactly date of the 4 files with YYYYMMDD and HHMMSS
Creation ? Modify? Saved? ...?

For the crowd. Total Commander AFKAWC (application formerly known as WinCommander)

@ prolz
Where are you from ?

prolZ_1

my problem

Post by prolZ_1 » Mon Oct 25, 2004 8:23 pm

hello,
Lumumba....

the synchronization must be run with total commander.
I don't want to know the actual date of the files with:
FileDate>filename,result

Returns the file date of filename in the result variable.

The date returned is in the format YYYYMMDD

filename can include a full path.

Abbreviation : FDT
See also : FileSize

Example

FileDate>c:\program files\myfile.exe,MyFileDate
I need the correctly date with hour,min,sec.
I don't need a comparison in the skript, i can use it in tcmd..... the replacement must be work in the skript....
Do you understand me what i mean??? I know my english is not so good but i will learn to write better :-)
The action must be go on automatically under tcmd......
for example:
start program>tcmd.exe
and then all actions must go auto.....
What i need for variables / commands to realizing my programm???
@you: i'm from germany and you?

NunGutVerona

Post by NunGutVerona » Mon Oct 25, 2004 9:01 pm

Also im Win-/TotalCommander gibt es eine Sync funktion. Ich vermute es geht hierbei darum zwei Verzeichnisse (bzw. darin enthaltene Dateien) zu synchronisieren (?). Wozu benötigst Du den Zeitstempel ???

Das MacroSchedulerScript stellt lediglich den Ablauf deiner manuellen Eingaben nach. Es dürfte in etwa so aussehen:

//Zeitstempel als Variablen definieren - Beispiel:
Day>DD
Month>MM
Year>YYYY
Hour>hh
Min>mm
Sec>ss

//TCMD starten - Beispiel:
Run Program>tcmd.exe

//die Syncfunction über TastaturKombination aufrufen - Beispiel:
Press ALT
Send Character\Text>B
Release ALT

// sich öffnende Fenster kontroliert abfragen/steuern
WaitWindowOpen>HierFensterTitelEintragen

//AbfrageFenster durch Tastaturbefehl bestätigen - Beispiel:
Press ENTER

//Um eventuell notwendige Texteingaben vorzunehmen - Beispiel
Send Character\Text>%DD%%MM%%YYYY%-%hh%%mm%%ss%.txt

und
so
weiter
bla
bla
bla
Du kannst im Macro Scheduler ein Script (wie mit einem Tonband) "aufnehmen", und anschließend nachbearbeiten (da die Timings eher selten mehrmals nacheinander passen). Das vereinfacht die Sache.

Sobald du dein erstes (?) Script erstellt hast probiere damit herum. Notiere dir deine "Handgriffe" und baue diese im Script einfach nach.
Immer dran bleiben. Wenns nicht funzt, dann zeige deinen Code im Forum und dir wird geholfen - meistens :D

Good luck. :P

prolZ_2

Synchronization between two lists under Macro Scheduler

Post by prolZ_2 » Sun Nov 07, 2004 3:46 pm

//Testverzeichnis zur Synchronisation zweier Verzeichnisse.
//-dd


Day>DD
Month>MM
Year>YYYY
Hour>hh
Min>mm
Sec>ss

run program>E:\Programme\totalcmd\TOTALCMD.EXE
ChangeDirectory>G:\
"Let>filename=g:\Test1\DCTL.txt
"Let>newfilename=g:\Test2\DCTL_1.txt
"CopyFile>filename,newfilename
"DateStamp>g:\Test1\DCTL.txt,Macro Started
"Legt lediglich einen Zeitstempel auf die Datei an, nutzlos!
Press Alt
Send Character\Text>B "Steht für Befehle
Send Character\Text>y "Steht für Verzeichnissynchronisation
Send Character\Text>V "Steht für vergleichen
"Send Character\Text>y
"Steht für Verzeichnisse synchronisieren



"Input>Name,Please enter your name!
"Wird das benötigt?
"Ask>Wollen Sie fortfahren?,Ja oder nein?
"Wird das benötigt?
________________________________________________________
Hallo so sieht momentan mein Code bis jetzt aus, bin wirklich nicht so weitgekommen!
Also NUNGutVerona, ich hab jetzt eine Frage deine Antwort vom 25.10.04 hat mir wirklich weitergeholfen doch jetzt stehe ich vor einem größeren Problem, ich hab zwar das Programm jetzt automatisiert gestartet und bin bereits mit dem SendCharakter bis zum Verzeichnissynchronisationsprogramm gekommen doch wie steuere ich an, dass ich die Verzeichnisse angebe in die ComboBox?
In der Kommandoreferenz komme ich auch nicht weiter, es ist mir wirklich kein richtiger Syntax dazu eingefallen.....

Also das ich praktisch sagen kann, gehe auf die Verzeichnisse g:\Test(links) und g:\Test(rechts).... weil es gibt dort keine ALT-Kombination.... kann ich da die Maus verwenden.... oder wie soll ich das anstellen kannst du mir bitte weiterhelfen... das mit der ZEIT wird immer knapper mein Vorgesetzter kommt bald aus dem Urlaub und bis dahin möchte ich das Skript vorstellen können... ich wäre dir sehr verbunden wenn du mir weiter Tipps von so einer Sorte geben könntest...

Liebe Grüsse,

Dali.

NunGutVerona

Post by NunGutVerona » Sun Nov 07, 2004 9:23 pm

Eine deutschsprachige Ãœbersicht der internen Kommandos des Total Commanders [von hier:[TC ForumsBeitrag]]
221 cm_FileSync 2020 Synchronisiere: Verzeichnisse
Mit den internen Befehlen zu arbeiten scheint mir effektiver (?) als mit MSched auf der TC Oberfläche rumzurödeln. Bitte checke mal das Total Commander Forum.

Zudem gibt es spezialisierte Programme, welche dies scheinbar besser/einfacher bewerkstelligen als es in Total Commander möglich zu sein scheint (laut Aussage der TC Freaks!).

Kannst du gerne im TC Forum checken. Benutze die Forum Suche, Suchbegriff: synchronisieren

Hier ist sicher was dabei :[File Synchronizing - Freeware]

Demnach scheint ein Program wie myEasySync schon die Lösung. Kombiniert mit Macro Scheduler (wäre aber gar nicht notwendig) sähe es etwa so aus.
Run Program>myEasySync.exe auto=backup folder1="C:\Personal Files" folder2="F:\Backup"
Ansonsten kannst du auch --> www.xxcopy.com benutzen (ist aber für den gewerblichen Gebrauch zu lizensieren).

NunGutVerona

Post by NunGutVerona » Sun Nov 07, 2004 9:47 pm

FSYNC 1.3 Synchronizes directories contents.
November 2004 Vico Biscotti http://www.vicobiscotti.it

For Win32 platforms.
This is a free software.

FSYNC sourcedir destdir [option1] [option2] ... [optionN]

Options:
/S silent mode (no console output nor confirmations requests)
/F force (no confirmation requests)
/P final pause (waits for key before terminate, also in silent mode)
/L[3|4][+] log on file (3 (default): standard level; 4: detailed level; +: append)
/D[3|4] log on console (3 (default): standard level; 4: detailed level)
/Ennn Ignore source files/directories with the nnn string in the path. You can use more /E options (max 8 ).
/C conservative mode (no delete)
/K skip errors, if possible

It synchronizes destination directory contents (subdirectories included) with source directory contents.

It doesn't change files or directories in destination directory if name, relative path, FAT attributes, size and modification date/time are the same than source ones. Synchronization implies that exceeding destination files/directories will be deleted (unless /C option is specified). Files date/time comparisons automatically ignores NTFS/FAT differences.

If you stop it with ctrl-C, ctrl-break or window close execution stops after current file/directory operation. Restarting synchronization will complete suspended work. Hard process breaks (forced process termination, hardware break, etc.) may cause unexpected effects. Restarting synchronization generally fix destination directory possible problems.
Use double quotes for long names with spaces. I.e.:
FSYNC "c:\Documents and Settings" "d:\Documents and Settings"

RELEASE CHANGES:

from 1.0 to 1.0.1
- Ignores 2 seconds NTFS/FAT difference between files modification date/time.
- Ignores NT daylight saving adjustment with FAT file system.
from 1.0.1 to 1.1
- Log system.
- Only FAT attributes are checked.
from 1.1 to 1.2
- Exclusion option.
- Can append to existent log file.
- Conservative mode (no delete).
from 1.2 to 1.3
- Skip errors option
- Daylight saving adjustment fix
[More...]
[Download]

prolZ_3

Sync

Post by prolZ_3 » Thu Nov 11, 2004 9:12 am

Hallo Nungutverona,

ich hab jetzt dieses myeasysync Programm zu Hilfe genommen ist sehr hilfreich doch ich habe damit ein Problem.

Ich kann nur den ganzen Folder syncen, und nicht bestimmte Dateien selektieren.....

prolZ_4

Verwendung des Programmes myeasysync...

Post by prolZ_4 » Thu Nov 11, 2004 2:34 pm

Ich muss eben nur 4 Dateien abgleichen, und nicht das ganze Vereichnis..
Ich kann zwar Dateitypen auswählen z.B. *.dbf etc.... aber keine bestimmte Dateitypen mit Dateinamen?!

Es dürfte dann keine Abfrage vom Programm selbst kommen, alles müsste automatisiert im Hintergrund ablaufen!?

Kann mir da jemand auf die Sprünge helfen?

dali.

NaGutVerona

Post by NaGutVerona » Fri Nov 12, 2004 8:56 am

FSYNC scheint mir die bessere Alternative. Mit den Argument(en) /F, /C und /E sollte es gehen.

/F force (no confirmation requests)
/Ennn Ignore source files/directories with the nnn string in the path. You can use more /E options (max 8 ).
/C conservative mode (no delete)
Let>QuellVerzeichnis = C:\MyTest
Let>ZielVerzeichnis = D:\MyTest
Let>IgnorePatternA = abc
Let>IgnorePatternB = x13z

Run Program>cmd /c FSYNC %QuellVerzeichnis% %ZielVerzeichnis% /F /C /E%IgnorePatternA% /E%IgnorePatternB%
1) erstelle C:\MyTest
2) erstelle D:\MyTest
3) erstelle Dateien in C:\MyTest
abc.txt
def.txt
ghi.txt
jkl.txt
mno.txt
x13z.txt
4) führe das oben angegebene Script/Kommando aus
als Ergebnis sollten jetzt alle Dateien bis auf abc.txt und x13z.txt im Zielverzeichnis zu finden sein. Ist ein Verdacht. Teste es einfach.

PS: im Web gibts Billionen von Batchfiles welche ein "inkrementelles Backup" mit XCopy erstellen. XCopy gehört zu deinem Betriebsystem.

PPS: Wenn du nur so allgemeine Stellungnahmen abgibst musst du dir den Code selbst zurechtschnitzen, wenn du dagegen Dateinamen/Pfade/Codezeilen zeigst kann man dir direkt helfen und ggf. Fehler identifizieren. Nur mal so nebenbei bemerkt. :roll:

Lumumba

Post by Lumumba » Sat Nov 13, 2004 3:38 pm

Xcopy
Copies files and directories, including subdirectories.

Syntax
xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]

Examples
To copy all the files and subdirectories (including any empty subdirectories) from drive A to drive B, type:

xcopy a: b: /s /e

To include any system or hidden files in the previous example, add the/h command-line option as follows:

xcopy a: b: /s /e /h

To update files in the \Reports directory with the files in the \Rawdata directory that have changed since December 29, 1993, type:

xcopy \rawdata \reports /d:12-29-1993

To update all the files that exist in \Reports in the previous example, regardless of date, type:

xcopy \rawdata \reports /u

To obtain a list of the files to be copied by the previous command (that is, without actually copying the files), type:

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

The file Xcopy.out lists every file that is to be copied.

To copy the \Customer directory and all subdirectories to the directory \\Public\Address on network drive H:, retain the read-only attribute, and be prompted when a new file is created on H:, type:

xcopy \customer h:\public\address /s /e /k /p

To issue the previous command, ensure that xcopy creates the \Address directory if it does not exist, and suppress the message that appears when you create a new directory, add the /i command-line option as follows:

xcopy \customer h:\public\address /s /e /k /p /i

[more...]

prolZ_5

FSYNC

Post by prolZ_5 » Sun Dec 05, 2004 4:16 pm

Hallo,
dein Posting vom Fri Nov 12, 2004 funktioniert leider nicht. Ich habe es etwaige Male ausprobiert und viele Male abgeändert aber ich bekomme die Datei nicht ins Quellverzeichnis kopiert....
Fehlt da anscheinend noch eine + Syntax mit Copy File?
NunGUTVERONA?

Bitte um Meldung.

prolZ_6

Total Commander Sync

Post by prolZ_6 » Sun Dec 05, 2004 5:24 pm

Hallo,
also nach einigen Wochen ist mein Programm immer noch nicht lauffähig. Ich habe sehr viele Sync Programme probiert doch ich kann keine Verbindung herstellen zu Macro Scheduler.... zwar lässt sich das Programm starten z.B. FSYNC doch auf meine Skript-Befehle reagiert das Programm überhaupt nicht. Jetzt bin ich zu dem Entschluss gekommen, dass ich es doch mit dem Total Commander zuende bringen möchte.
Mein Code sieht so aus damit ihr euch hineinversetzen könnt:
//Testverzeichnis zur Synchronisation zweier Verzeichnisse.
//dd

//Zeitstempel als Variablen definieren:
Day>DD
Month>MM
Year>YYYY
Hour>hh
Min>mm
Sec>ss

//TCMD starten
Run Program>E:\Programme\totalcmd\TOTALCMD.EXE

//Die Synchronisationsmöglichkeit über den Tastatur-Shortcut aufrufen
Press ALT
Send Character\Text>B

Release ALT
Send Character\Text>y

//sich öffnende Fenster kontroliert abfragen/steuern
WaitWindowOpen>Verzeichnisse synchronisieren

Ich bin jetzt praktisch in dem Fenster Verzeichnisse snyc drinnen. Jetzt müsste ich in die Textfelder G:\Test1 (links), G:\Test2 (rechts) eintragen können! Doch wie funktioniert das? Mit welchem Kommando?
Das andere wär dann kein Problem mehr Vergleichen = Press Alt +V
Sync = Press Alt + y
Bei meinem Home Rechner habe ich irgendwelche Dateien in einer x-Anzahl genommen, doch in der Firma habe ich ein größeres Problem da in dem Quellverzeichnis etvl. 2000 Dateien drinn sind und es sollen ja lediglich nur 4 Dateien verglichen werden und die dann anschließend ins Quellverzeichnis X kopiert werden.
Wenn das Programm dies gemacht hat, und die Dateien einen neuen/aktuellen Stand haben, dann soll mir über den e.Mail Syntax:
SMTPSendMail>recipients,server,from_address,from_name,subject,body,attachments
Eine e.Mail an eine beliebige Adresse geschickt werden damit ich weiss das neue DATEN von der Firma XYX über DFÜ gekommen sind.
Ich muss mir zugestehen das klingt alles sehr leicht, vielleicht kennt sich jemand mit VBSkript aus? Oder unter VisualStudio.NET? Gibt es hier Möglichkeiten dieses Programm leichter zu coden?
Ich würde mich über jedes Reply freuen, werde in den nächsten Tagen öfters reinschauen um diese Sache erfolgreich zu beenden.
Allen einen schönen Sonntag noch!?

@dali.

NunGutVerona

Post by NunGutVerona » Sun Dec 05, 2004 8:38 pm

Schreib mal (d)eine TelefonNr. hier auf und wann (zu Geschäftszeiten) man dich erreichen kann.

Bis dann dann.

NunGutVerona

Post by NunGutVerona » Sun Dec 05, 2004 8:54 pm

doch in der Firma habe ich ein größeres Problem da in dem Quellverzeichnis etvl. 2000 Dateien drinn sind und es sollen ja lediglich nur 4 Dateien verglichen werden und die dann anschließend ins Quellverzeichnis X kopiert werden
Also nochmal:
wenn du dagegen Dateinamen/Pfade[/Codezeilen] zeigst kann man dir direkt helfen und ggf. Fehler identifizieren. Nur mal nochmal so nebenbei bemerkt

Post Reply
Sign up to our newsletter for free automation tips, tricks & discounts