Dateien aus verschiedenen Verzeichnissen kopieren

German support forum

Moderators: Hacker, Stefan2, white

User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Snooze wrote:2sheepdog
leider muss man jetzt das OK-: was in der ftplist bei erfolgreichem upload angefügt wird immer entfernen wenn man nochmals uploaden will.
Da kann man doch vorher die Liste kopieren:

copy backup.lst download.lst

Und mit AUtohotkey kann man dann sogar den Upload starten. (Aber nicht mehr heute ;) )
oder ich tu die Datei einfach schreibschützen..
Nicht so gut, weil Du dann keine Kontrolle hast, ob wirklich alles rüberkopiert wurde. Gerade bei FTP reißt öfter mal die Verbindung ab. Und wenn Du dann glaubst, alles gesichert zu haben, geht gerade die Datei kaputt, die nicht mehr kopiert wurde.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Snooze
Senior Member
Senior Member
Posts: 212
Joined: 2005-12-08, 16:48 UTC
Location: im Vest

Post by *Snooze »

so,
ftplist erweitert das alle Dateien drinstehen,
in der Buttonbar vom TC einen neuen Button angelegt,
funktion: cm_FtpDownloadList (Download files in download list) definiert,
getestet,
und es funktioniert sogar :D

Dank an alle die geholfen haben
User avatar
squeller
Member
Member
Posts: 134
Joined: 2005-06-23, 15:30 UTC

Post by *squeller »

Da ich immer Hamster als Mail/Newsserver laufen habe und seine Syntax gut beherrsche, habe ich meine Backup-Aufgaben in Hamster-Skriptsprache geschrieben. Das hinterhängende Modul ist komplizierter und die Steuerung dann selbsterklärend:

Code: Select all

	$name     = "Total Commander"
	$source   = "E:\Programme\totalcmd\"
	$include  = "*.bar;*.ini;wincmd.key"
	$r        = recurse("yes")
	startbackup($z7z, $z7zflags + $r, $temp, $name, $source, $include, _
                  $exclude, $incfiles, $before, $after)

	$name    = "Domains"
	$source  = "M:\Domains\"
	$include = "*.ht*"
	$r       = recurse("yes")
	$after   = "60"
	startbackup($z7z, $z7zflags + $r, $temp, $name, $source, $include, _
                  $exclude, $incfiles, $before, $after)
Am Ende kommen 7z-Archive raus.
User avatar
Snooze
Senior Member
Senior Member
Posts: 212
Joined: 2005-12-08, 16:48 UTC
Location: im Vest

Post by *Snooze »

eine Frage zum 'put' Kommando habe ich noch.

gibt es einen Parameter der, wie beim DOS-Befehl 'copy /Y', das automatische Überschreiben der Dateien ermöglicht?

ist zwar nicht weiter schlimm einmal auf 'alle Überschreiben' zu klicken,
aber automatisiert ist es angenehmer ;)
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Snooze wrote:gibt es einen Parameter der, wie beim DOS-Befehl 'copy /Y', das automatische Überschreiben der Dateien ermöglicht?
Wahrscheinlich nicht, aber das kann man mit einem kleinen Autohotkey Script erledigen:
[edit]
Das script kann etwas gefährlich werden, wenn die die Abfrage beim FTP Upload nicht kommt, so dass ich es erst mal wieder rausgenommen habe.

2snooze
Wenn Du das Script trotzdem benutzen möchtest, weil DU weisst, dass immer etwas zu überschreiben ist, dann schick mir eine Email.

[/edit]

Entweder Du installierst Autohotkey auf Deinem Rechner und rufst mit dem Button nur dieses Script auf (das mit der Endung *.ahk gespeichert werden muss), oder Du kompilierst das Script, dann wird es zur EXE Datei und läuft auch ohne dass Autohotkey installiert ist. Dann muss der Button die Exe aufrufen.

sheepdog
Last edited by Sheepdog on 2005-12-17, 15:10 UTC, edited 2 times in total.
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Sheepdog,
Koennte es da eventuell in dem Skript Probleme geben (ausser, dass es nicht beendet wird), falls die Bestatigungsaufforderung nicht kommt? Oder vielleicht in einer anderen TC Instanz, in der der Dialog in einem anderen Kontext erscheint?

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Hacker wrote:Koennte es da eventuell in dem Skript Probleme geben (ausser, dass es nicht beendet wird), falls die Bestatigungsaufforderung nicht kommt? Oder vielleicht in einer anderen TC Instanz, in der der Dialog in einem anderen Kontext erscheint?
Stimmt. Wenn nichts zu überschreiben ist, wartet das script so lange, bis in irgend einer Instanz des TC dieser Dialog erscheint.

Hast Du auch hier eine Idee, wie das zu lösen wäre?

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Zur zeit leider nicht. Vielleicht fallt mir (oder jemand anderem) ja noch was ein.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ich habe mir noch was überlegt:

Code: Select all

WinActivate ahk_class TTOTAL_CMD ;TC aktivieren
PostMessage, 1075, 558, , , ahk_class TTOTAL_CMD ; Download von Liste starten
WinWait ahk_class DOWNDLGLIST2 ; Warten, bis das Downloadfenster offen ist
Winget, instanz, PID, ahk_class DOWNDLGLIST2 ; und die Prozessnummer der TC Instanz herausfinden

loop
{
IfWinexist ahk_class DOWNDLGLIST2 ahk_PID %instanz% ; SOlange das Downloadfenster dieser Instanz existiert
	{
	ifWinExist ahk_class TExtMsgForm ahk_PID %instanz% ; Prüfen, ob das Abfragefenster in dieser Instanz erscheint
	    {
		winactivate ahk_class TExtMsgForm ahk_PID %instanz% ; Wenn ja, dann Fenster aktivieren
		send,a ; und "a" für alle Überschreiben drücken
	    }
	    
	}    
else
break ; wenn das Downloadfenster nicht mehr existiert, die Schleife abbrechen
}
return
Jetzt wird das 'Alle Überschreiben' nur noch ausgewählt, solange das Downloadfenster offen ist und wenn die Abfrage von der Instanz geöffnet wurde, die auch das Downloadfenster geöffnet hat.

Ich denke, das sollte jetzt klappen.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Snooze
Senior Member
Senior Member
Posts: 212
Joined: 2005-12-08, 16:48 UTC
Location: im Vest

Post by *Snooze »

2Sheepdog

also das (.exe) Script habe ich jetzt mal eingebunden

was soll ich noch sagen..es funktioniert :D

/E
ich log jetzt auch über Logfile2=[datei] mit, was beim ftp so läuft
dann habe ich auch wieder Kontrolle über den erfolgreichen Upload
trotz schreibgeschützter ftplist.txt
Post Reply