Datei im mehrere Order verschieben
Hallo zusammen,
ich bin auf der Suche nach einem Batchbefehl, der eine Datei in einen/mehrere Ordner kopieren soll wenn sie fehlt. Alternativ (wenn sie fehlt weglassen und) einfach überschreibt.
Name der Datei = MySql.Data.dll
Mögliche Ordnernamen = {AAFFFB64-6E42-4658-9383-E08EC53B3A48}; {AAFFFB64-6E42-4658-9383-E08EC53B3A48}3; {AAFFFB64-6E42-4658-9383-E08EC53B3A48}6 ... usw.
Der String zwischen den geschweiften Klammern ist immer gleich, jedoch kann es sein, dass eine Zahl (beliebig) hinten dran gehangen wird.
So funktioniert es für jeweils einen Ordner:
copy \\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\{AAFFFB64-6E42-4658-9383-E08EC53B3A48}\MySql.Data.dll"
pause
und...
copy \\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\{AAFFFB64-6E42-4658-9383-E08EC53B3A48}8\MySql.Data.dll"
pause
Auf die Zahlen am Ende habe ich leider keinen Einfluss da es scheint, dass diese willkürlich angelegt werden.
Ich habe schon ziemlich viel herumprobiert, komme aber leider nicht zur Lösung...
So wäre es für mich logisch gewesen:
copy "\\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\ | find "{AAFFFB64-6E42-4658-9383-E08EC53B3A48}" | MySql.Data.dll"
pause
... leider jedoch nicht für die Batch-Datei.
Ich hoffe mir kann hier jemand helfen?!
Vielen Dank schon mal im Voraus!
Gruß
Mario
ich bin auf der Suche nach einem Batchbefehl, der eine Datei in einen/mehrere Ordner kopieren soll wenn sie fehlt. Alternativ (wenn sie fehlt weglassen und) einfach überschreibt.
Name der Datei = MySql.Data.dll
Mögliche Ordnernamen = {AAFFFB64-6E42-4658-9383-E08EC53B3A48}; {AAFFFB64-6E42-4658-9383-E08EC53B3A48}3; {AAFFFB64-6E42-4658-9383-E08EC53B3A48}6 ... usw.
Der String zwischen den geschweiften Klammern ist immer gleich, jedoch kann es sein, dass eine Zahl (beliebig) hinten dran gehangen wird.
So funktioniert es für jeweils einen Ordner:
copy \\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\{AAFFFB64-6E42-4658-9383-E08EC53B3A48}\MySql.Data.dll"
pause
und...
copy \\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\{AAFFFB64-6E42-4658-9383-E08EC53B3A48}8\MySql.Data.dll"
pause
Auf die Zahlen am Ende habe ich leider keinen Einfluss da es scheint, dass diese willkürlich angelegt werden.
Ich habe schon ziemlich viel herumprobiert, komme aber leider nicht zur Lösung...
So wäre es für mich logisch gewesen:
copy "\\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%temp%\..\SWX\EPDM\Plugins\vault\ | find "{AAFFFB64-6E42-4658-9383-E08EC53B3A48}" | MySql.Data.dll"
pause
... leider jedoch nicht für die Batch-Datei.
Ich hoffe mir kann hier jemand helfen?!
Vielen Dank schon mal im Voraus!
Gruß
Mario
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 253887
Url: https://administrator.de/forum/datei-im-mehrere-order-verschieben-253887.html
Ausgedruckt am: 23.05.2025 um 14:05 Uhr
11 Kommentare
Neuester Kommentar
na die Pfadangabe für den Ordner musst du ja vermutlich noch korrigieren 
%temp%\..\SWX\EPDM\Plugins\vault
C:\Users\Mario\AppData\Local\SWX\EPDM\Plugins\vault\
OK, da hatte ich was missinterpretiert, sorry.Hab's mal hierdurch ersetzt:
"%LOCALAPPDATA%\SWX\EPDM\Plugins\vault"
das ist zuverlässiger, wenn auf einem System das Temporäre Verzeichnis auf einen anderen Ordner konfiguriert wurde.Zitat von @Mario76:
Wenn Du einen konkreten Hinweis hast warum das nicht funktioniert dann wäre es schön diesen zu lesen.
habe ich dir im letzten Post geschrieben, lass es mal manuell in einer Konsole ausführen (ohne die erste Zeile Wenn Du einen konkreten Hinweis hast warum das nicht funktioniert dann wäre es schön diesen zu lesen.
@echo off
) dann siehst du eventuelle Fehlermeldungen. Habe die Batch hier getestet und sie macht hier was du wolltest.Grüße Uwe
Nein du darfst die einzelnen Zeilen so nicht manuell eintippen, für diesen Fall müsstest du die Laufvariable %%a an beiden Stellen durch %a ersetzen! Du musst die Batchdatei wie oben geschrieben ändern und dann diese manuell in der Konsole starten mit deinebatch.bat, damit du für den Fall der Fälle die Fehler sehen kannst ohne das sich deine Konsole direkt schließt.
Also speichere sie mal folgendermaßen ab, führe sie erneut aus, und poste hier die Ausgaben aus deiner Konsole, damit wir das zu einem Abschluss bringen können.
Vermutlich hast du nur einen Tippfehler oder es hat sich irgendwo beim Kopieren ein Fehler eingeschlichen.
Grüße Uwe
Also speichere sie mal folgendermaßen ab, führe sie erneut aus, und poste hier die Ausgaben aus deiner Konsole, damit wir das zu einem Abschluss bringen können.
set "ordner=%LOCALAPPDATA%\SWX\EPDM\Plugins\vault"
for /f "delims=" %%a in ('dir /b /AD "%ordner%\{AAFFFB64-6E42-4658-9383-E08EC53B3A48}*" 2^>nul') DO copy "\\Server1\alle\TB\DateiFuerAddIn\MySql.Data.dll" "%ordner%\%%a"
pause
Grüße Uwe
kann jedem mal passieren, kleine Ursache große Wirkung
. Was meinst du wie oft mir das schon passiert ist. Ich habe mal einen halben Tag mit einer Problemsuche verbracht und am Ende war es so ein besch... Zeichen an der falschen Stelle 
Grüße Uwe
Grüße Uwe