Zum Inhalt springen

Automatisches Kopieren eines Ordners auf USB Stick


rhservice

Empfohlene Beiträge

Hi,

also ich würde einfach ein Programm zur Synchronisierung benutzen. Da gibts ja auch ne Menge Freeware.

Ich hab daheim eins, welches erkennt wenn ein USB Stick angeschlossen wird und dann die Synchronisation startet. Jeweils mit dem Laufwerk welches dem Stick zugeteilt wird.

Man kann auswählen ob man die neuesten Änderungen in beiden Ordnern übernimmt, oder wie in deinem Fall einen Ordner immer überschreibt.

Außerdem gibt das Programm einen Ton aus wenn es fertig ist, also weiß man auch wann man den Stick abziehen kann.

Ich benutz das daheim regelmäßig um meinen USB-Stick den ich immer mit mir rum schleppe zu sichern. Einfach reinstecken kurz warten und fertig. Egal ob grad noch die Kamera, Externe-Festplatte oder was auch immer dran ist.

Weiß jetzt leider nicht genau wie das heißt, aber ich schau daheim mal nach.

Ja habe auch schon dran gedacht und es auch schon ausprobiert.

Wie gesagt die Laufwerksbuchstaben kann man nicht festlegen weil die sich ständig ändern werden.

Welche Software hast du denn drauf die du mir empfehlen kannst damich ich mir das angucken kann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

doch ein wenig zeit gefunden:

Code fürs die au3/exe:

;--- Einstelungen aus ini auslesen

$SettingsFile = @ScriptDir&"\settings.ini"

$SourceDirPath = IniRead ($SettingsFile,"settings","SourceDir","")

$TargetDirRelPath = IniRead ($SettingsFile,"settings","TargetDirRelPath","")


while 1

	$Drives = DriveGetDrive("REMOVABLE")

	;--- "Removeable" Device angeschlossen

	if not @error then

		for $i=1 to $Drives[0]

			$TargetDirPath = $Drives[$i]&$TargetDirRelPath

			;--- Bereits vorhandene Version auf Zieldatenträger

			if FileExists ($TargetDirPath&"\Version.ini") then

				$TargetVersion = IniRead ($TargetDirPath&"\Version.ini","version","Version","0")

				$SourceVersion = IniRead ($SourceDirPath&"\Version.ini","version","Version","1") 

				;---Version kleiner ->löschen und kopieren

				if $TargetVersion < $SourceVersion Then

					SplashTextOn ("","Achtung! "&@CRLF&@CRLF&"Kopieraktionen aktiv!",400,200,Default,Default,33,Default,20)

					DirRemove ($TargetDirPath,1)

					DirCopy ($SourceDirPath,$TargetDirPath)

				Else

					;---Versionen gleich, keine Aktion nötig

					SplashOff()

				EndIf

			Else

				;---Keine Version auf Zieldatenträger vorhanden, nur kopieren

				SplashTextOn ("","Achtung! "&@CRLF&@CRLF&"Kopieraktionen aktiv!",400,200,Default,Default,33,Default,20)

				DirCopy ($SourceDirPath,$TargetDirPath)

			EndIf

		Next

	Else

		;--- kein "Removeable" Device Angeschlossen

		SplashOff()

	EndIf

WEnd

zusätzlich brauchst du eine settings.ini im gleichen verzeichnis wie die exe...
[settings]

SourceDir = C:\tmp\USB_AutoFiller\SourceDir

TargetDirRelPath = \TargetDir
wobei sourceDir ans quellverzeichnis angepasst werden muss und TargetDirRelPath quasi den Ordnernamen auf den Sticks mit anführendem \ angibt sowie im obersten ordner des SourceDirs eine version.ini
[version]

Version = 1

das ganze ist nur kurz getestet und sicherlich nicht der weisheit letzter schluss...

Edit: bei änderung der Daten musst du dann in der version.ini nur die version erhöhen...

Wie erkennt das Programm die Version? Nach Datum oder grösse?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie erkennt das Programm die Version? Nach Datum oder grösse?

nach dem kopieren ist die version.ini zweimal vorhanden, einmal im verzeichnis, elches kopiert werden soll und einmal auf dem stick... wenn hier gleichheit herrscht, wird nicht kopiert sondern nur, wenn die version im quellverzeichnis größer ist als im zielverzeichnis.

wenn sich die version ändert, muss du im quellverzeichnis den inhalt der datei version.ini erhöhen

Link zu diesem Kommentar
Auf anderen Seiten teilen

nach dem kopieren ist die version.ini zweimal vorhanden, einmal im verzeichnis, elches kopiert werden soll und einmal auf dem stick... wenn hier gleichheit herrscht, wird nicht kopiert sondern nur, wenn die version im quellverzeichnis größer ist als im zielverzeichnis.

wenn sich die version ändert, muss du im quellverzeichnis den inhalt der datei version.ini erhöhen

was passiert wenn die laufwerksbuchstaben sich ändern?

Link zu diesem Kommentar
Auf anderen Seiten teilen

was passiert wenn die laufwerksbuchstaben sich ändern?

Im Quellcode wird ein Array durchgegangen, welches alle Laufwerkbuchstaen beinhaltet. Es ist also egal, ob die sich ändern.

Wie wärs wenn du dich mal dareinarbeitest, anstatt dauernd zu fragen? Es kann dir nicht immer jemand helfen.

@Hüsi:

Das ist auch n Grund warum man keine fertigen Quelltext posten sollte ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Quellcode wird ein Array durchgegangen, welches alle Laufwerkbuchstaen beinhaltet. Es ist also egal, ob die sich ändern.

Wie wärs wenn du dich mal dareinarbeitest, anstatt dauernd zu fragen? Es kann dir nicht immer jemand helfen.

@Hüsi:

Das ist auch n Grund warum man keine fertigen Quelltext posten sollte ;)

Solche komentare habe ich ja noch nie gelesen!!!!

Ich habe oben schon mehrere Male geschrieben dass ich keine Ahnung davon habe und mich deswegen an euch wende! Liest mal meinen ersten Post!!

Hätte ich Ahnung und könnte mich da rein arbeiten würde ich hier nicht posten und um Hilfe bitten!!!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

manchmal kann ich unglaublich nett sein. aber bei so wenig bereitschaft selbst mal ein wenig sich in etwas reinzudenken, überleg ichs mir beim nächsten mal...

Hallo ich habe keine Ahnung wie ich mich da rein arbeiten soll!

Ich arbeite nebenbei und habe Familie und ich weiss nicht mal ob ich das C++ noch jemals wieder brauchen werde.

Ich dachte es ist einfacher aber ich kenne mich nicht mal mit den Begriffen dafür aus.

Es ist nicht für mich sondern für einen guten Zweck.

Kommt schon Leute zeigt ein wenig Verständniss!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo ich habe keine Ahnung wie ich mich da rein arbeiten soll!

Ich arbeite nebenbei und habe Familie und ich weiss nicht mal ob ich das C++ noch jemals wieder brauchen werde.

Bereitschaft sich mit sowas auseinander zu setzen ist der Schlüssel zu allem. Ich denke mal, dass mehr schneller geholfen hätten, wenn selbige zu erkennen gewesen wäre und nicht nur ein Bittstellen.

Aber da jetzt ja scheinbar alles so gemacht wurde, wie gewünscht und alles läuft, gibts ja keine Probleme mehr.:rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hüsi,

ich habe mich mehrere Male bei dir bedankt oder?

Nein es ist noch nicht so wie ich es möchte ok!!! Ich werde mich auch selber damit auseinader setzen. Es muss ein IP-Abfrage rein!

Ich sagte ich habe kaum Zeit mich damit von Grundauf auseinander zu setzen!!!!

Jungs ihr habt es drauf, ich nicht!!! Ihr beschäftigt euch vielleicht jeden Tag damit, ich nicht!

Robby

Link zu diesem Kommentar
Auf anderen Seiten teilen

...

Es muss ein IP-Abfrage rein!

Ich sagte ich habe kaum Zeit mich damit von Grundauf auseinander zu setzen!!!!

Jungs ihr habt es drauf, ich nicht!!! Ihr beschäftigt euch vielleicht jeden Tag damit, ich nicht!

Was hat denn eine IP-Abfrage mit USB-Sticks zu tun?

(Du hast es nicht drauf, weil deine Einstellung Mist ist.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Abgesehen davon, das die Info USB-Server / IP-Abfrage schon im ersten Post hätte stehen sollen und ich den gegebenen Aufbau noch nicht ganz verstehe...

Stelle ich mir deine Ausgangssituation derzeit so vor, das ein PC oder Laptop unter dem Tisch oder in einem seperaten Raum steht, ohne Zugriff für Gäste auf den Bildschirm, Tastatur, etc. und lediglich der USB-Hub zugänglich ist. Es soll jeder die Möglichkeit haben seinen USB-Stick anzuschliessen um eine aktuelle Kopie vom Ordner "X" zu bekommen, soweit richtig?

Das Problem ist weniger die Umsetzung als viel mehr eine Erfolgsmeldung / Fehlerkontrolle für den Gast.

  • Ein Problem kann sein, wenn der USB-Stick nicht richtig initialisiert wurde, blinkt zwar der USB-Stick, bekommt aber evtl. keine Laufwerksbuchstaben zugewiesen.
  • Was ist mit USB-Sticks, die keine LED haben?
  • Ein Antivirenprogramm kann ggf. auch im Hintergrund den USB-Stick scannen...

Umsetzen würde ich es ggf. mit VBScript in einer Schleife, die alle "x"-Minuten die Angeschlossenen Geräte scannt und per Robocopy entweder alles neu auf den USB-Stick kopiert, oder nur die geänderten Daten ersetzt / löscht (Option: Mirror).

@rhservice:

  • Zunächst sollte die Ausgangssituation klar sein, bzw. geklärt werden werden.
  • Wenn du vom Scripten keine Ahnung hast und um Hilfe bittest ist das ok. Aber es macht einen Unterschied, ob du es verstehen / dich einarbeiten möchtest, oder gerne ein fertiges Programm hättest.
  • Sofern die Ausgangssituation nicht klar ist, kannst du kein fertiges Sktipt erwarten.

@all: Ohne die Diskussion breit treten zu wollen, um sie hiermit ggf. auch zu beenden; Ich kann ich lupo49 in sofern verstehen als, wie bereits angedeutet, ist es ärgerlich und wird als Zeitverschwendung empfunden sich die Zeit zu nehmen und eine Lösung zu erarbeiten und dann eine wichtige / fehlende Info zu bekommen, die die Ausgangssituation ändert / das Konzept über den haufen wirft, bzw. ein anderer Lösungsansatz erarbeitet werden müsste...

Wer kein Interesse (mehr) an dem Thread hat, sollte sich einfach ausklinken. Wozu im Thread streiten? Für das Archiv und die Nachwelt?

Mich interessiert die Lösung aber ohne die Ausgangssituation zu kennen, macht es wenig Sinn ein Script zu erstellen und zu testen (es soll ja auch funktionieren, wenn sich jemand den Code aus dem Thread kopiert und verwenden will).

Gruss,

tester2k5

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Zusammen,

ja das mit der IP und den USB-Servern war mir auch nicht bekannt!

Es sind 4 USB-Server im Netzwerk! Die unterscheidung muss stattfinden weil zu jeder IP ein seperates Verzeichnis gehört was kopiert werden soll!

Also natürlich möchte ich das verstehen um eventuell auch mal Änderungen vorzunehmen!

Hüsi hat sich bereit erklärt das zu schreiben und ich habe es so angenommen! Und da ich keine Ahnung von den Befehlen habe usw habe ich Fragen gestellt: warum dies, warum jenes?

Also es ist eine grosse Evangelische Gemeinde. Die nehmen die Gottesdienste mit einem PC auf und speichern die als MP3 auf einem kleinen Server der Tag und nacht läuft zwecks Kindergeschichtentelefon, Fax usw...

Die wollen das so haben dass jeder die Gottesdienste kopieren kann, Egal wann und egal welchen. Die werden jede Woche ersetzt (4 Gottesdiesnte in einer Woche).

Jeder soll mit seinem Stick kommen können und den Stick einstecken können wo dann automatisch ein Kopiervorgang gestartet werden soll!

Ist das so OK?

Robby

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Erklärung, es fehlen jedoch noch weitere Informationen zur Ausgangssituation, bzw. zu meinem Post. Wieviele USB-Server gibt es und zu welchem Zweck? Es könnten auch 4 unterschiedliche Ordner zusammen auf den USB-Stick kopiert werden...

Mir selbst ist die Konstellation mit dem USB-Server noch nicht ganz klar, eine Modellbezeichnung / Angaben zur Funktionsweise währen hilfreich gewesen. Ich denke das der USB-Server lediglich für die Verlängerung der Kabelstrecke zuständig ist, somit würde der USB-Stick dennoch als solcher auf dem PC / Server angemeldet und eine Unterscheidung nach IP-Addresse nicht möglich ist. Z.B.: USB-Server KEYSPAN US-4AG 4 Ports (Onlineshop Versand Internetshop)

Was ist mit der Erfolgsmeldung / Fehlerkontrolle für den Gast?

Das Problem ist weniger die Umsetzung als viel mehr eine Erfolgsmeldung / Fehlerkontrolle für den Gast.

* Ein Problem kann sein, wenn der USB-Stick nicht richtig initialisiert wurde, blinkt zwar der USB-Stick, bekommt aber evtl. keine Laufwerksbuchstaben zugewiesen.

* Was ist mit USB-Sticks, die keine LED haben?

* Ein Antivirenprogramm kann ggf. auch im Hintergrund den USB-Stick scannen...

Gruss,

Karsten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...