Dr. Dünnpfiff 0 Melden Geschrieben 11. Februar 2010 Hallo, ich habe mir ein Batchscript geschrieben, mit dem ich automatisch das Programmverzeichnis (welches auch die Maildaten etc. enthält) von Mozilla Thunderbird vom Desktop-PC auf mein Notebook kopieren kann. Kurzer Hintergrund: Beide Rechner mit Win XP Pro, das Programmverzeichnis von Thunderbird befindet sich am Desktop in einem freigegebenen Verzeichnis, das am Notebook jedes mal, wenn ich mich anmelde, automatisch als Netzlaufwerk gemountet wird. Das Problem: Wenn ich das Script starte, bricht es den Kopiervorgang mit der Meldung "Ungültiger Laufwerksbuchstabe" ab. Wenn ich danach das Laufwer im Explorer öffne, wobei ich dessen Inhalt praktisch sofort zu sehen bekomme, und das Script danach nochmal ausführe, funktioniert es einwandfrei. Scheinbar wird das Netzlaufwerk also erst gemountet, sobald ich mit einem "normalen" Programm darauf zugreife. Frage: Wie bekomme ich es hin, dass das Script gleich beim ersten Anlauf auf das Laufwerk zugreifen kann? Hier mal das kleine Script: @echo off :COPY echo Kopieren... mkdir "C:\Programme\thunderbird-copy_temp\" xcopy "M:\Programme\Mozilla Thunderbird" "C:\Programme\thunderbird-copy_temp" /E /Q if %ERRORLEVEL% EQU 0 goto BKP echo Kann nicht von M: kopieren! goto END :BKP echo Lösche altes Backup... @if exist "C:\Programme\Mozilla Thinderbird (alt)" del "C:\Programme\Mozilla Thinderbird (alt)" echo Erstelle neues Backup... move "C:\Programme\Mozilla Thunderbird" "C:\Programme\Mozilla Thunderbird (alt)" if %ERRORLEVEL% EQU 0 goto MOVE echo Abgebrochen! goto END :MOVE echo Fertigstellen... move "C:\Programme\thunderbird-copy_temp" "C:\Programme\Mozilla Thunderbird" if %ERRORLEVEL% EQU 0 goto END echo Fehler beim Verschieben! goto END :END mfg
Django321 6 Melden Geschrieben 11. Februar 2010 hi, ich bin zwar ein laie im batchen, aber kannst du nicht in deinem script (befindet sich auf dem PC nehme ich an) am Anfang eine simple batchdatei (zB. echo off, dir M:, exit) auf deinem notebook starten, in der kurz und albern auf das entsprechende laufwerk/Verzeichnis zugegriffen wird. Ich meine, um es quasi kurz zu aktivieren. Haben notebooks nicht immer so komische "schalt hier mal ab, spar da mal energie- mechanismen. Vielleicht schläft das laufwerk noch bis zum ersten zugriff.
Sven 134 Melden Geschrieben 11. Februar 2010 Am besten mit "NET USE \\servername\freigabe kennwort /USER:benutzername" das Laufwerk verbinden. Das groß geschriebene ist Syntax des Befehles und das kleingeschriebene ist der benutzerabhängige Teil. Du mußt dafür auch keinen Buchstaben zuweisen und kannst mit \\servername\freigabe\unterverzeichnis direkt drauf zu greifen. Nur auf keinen Fall unter einem Rechnernamen mit zwei verschiedenen Benutzern zugreifen. Das mag Windows überhaupt nicht.
Dr. Dünnpfiff 0 Autor Melden Geschrieben 15. Februar 2010 So, ich hab jetzt ne supereinfache Lösung gefunden, da hätt ich auch gleich drauf kommen können Ich versuche einfach stur nochmal zu kopieren, falls der erste Versuch fehlschlägt; bisher klappt es so problemlost Aber danke für die Antworten, NET USE kannte ich noch nicht, das könnte bei ner anderen Sache noch nützlich werden. Aber in dem Fall habe ich ja sowieso das Verzeichnis als Laufwerk verbunden, weil ich so auch auf andere Daten am Rechner zugreifen kann; für das Softwarearchiv oder die Videosammlung ist die Notebook-Platte mit 250GB dann doch zu "klein"^^ mfg