ERLEDIGT
NEIN
NEIN
ANTWORTEN
16
16
ZUGRIFFE
14068
14068
EMPFEHLEN
-
24.02.09 13:17 #16
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Das Problem ist, das die Anweisungen falsch geklammert sind.
Es erfolgt keine Ausgabe hierbei:
Hierbei wird "nein" ausgegeben:Code :1
if "a"=="b" (echo gleich) && echo nein
Code :1
(if "a"=="b" echo gleich) && echo nein
Das nur 1 Mal kopiert wird liegt daran, das das Backupverzeichnis beim ersten Durchlauf noch nicht existiert und deshalb die if not exist Bedingung wahr ist. Somit wird dann mkdir und bei Erfolg dann auch copy aufgerufen.
Und warum prüfst du ständig in der Schleife ob das Backupverzeichnis existiert? Das kannst du doch vorher erledigen.
Gruß
PS: Evtl. solltest du lieber eine CALL Anweisung in der Schleife verwenden, das macht das ganze übersichtlicher.Geändert von deepthroat (24.02.09 um 13:19 Uhr)
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
24.02.09 13:55 #17kraftzwerg Tutorials.de Gastzugang
Vielen Vielen Dank deepthroat
Ich habe die if bedingung zum Ordner erstellen aus der for schleife ausgegliedert.
Dadurch entstehen zwar auch leere Ordner, aber beide Dateien werden dafür kopiert.
Mit call werde ich mich später befassen, jetzt muß das Script erstmal die knapp 100 Rechner scannen.
Dank call wärs nicht nur übersichtlicher, sondern auch leichter erweiterbar.
Ein Script welches nicht nach dem einmaligen gebrauch in der Tonne verschwindet
Danke nochmal für die schnelle Antwort
Wer noch interessiert ist, hier ist mein Script: (die for schleife ist eine Modifikation von crazymischl´s for Schleife)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
@echo off :VARIABLEN REM Name des Rechners für den ersten Schleifendurchlauf: set "PCNAME=PC1" REM Zu durchsuchender Ordner set "SDIR=\Dokumente und Einstellungen" REM Zu suchende Datei set "FILE=*.ost" REM Dieses Netzlaufwerk wird zur Suche gemountet set "NETDRIVE=y:" REM Ordner in den das Backup kopiert werden soll set "BACKUPPATH=d:\outlooksave\ost" REM Name des Logfiles set "LOGFILE=d:\outlooksave\ost\ost_log.txt" :BEGIN cls echo "aktueller pc: %PCNAME%" ping -n 1 -w 999 %PCNAME% if %errorlevel% EQU 1 goto NEXT net use %NETDRIVE% \\%PCNAME%\c$ if not exist %BACKUPPATH%\%PCNAME% (mkdir %BACKUPPATH%\%PCNAME%) for /r "%NETDRIVE%%SDIR%" %%i in ("%FILE%") do if exist %%i (echo %PCNAME% >> %LOGFILE% && echo. %%i >> %LOGFILE% && copy "%%i" %BACKUPPATH%\%PCNAME%\) net use /delete %NETDRIVE% :NEXT if "%PCNAME%"=="PC1" ( set PCNAME=PC2 goto BEGIN ) if "%PCNAME%"=="PC2" ( set PCNAME=PC3 goto BEGIN ) :EXIT echo "--> fertig <--" pause
mfg
KraftzwergGeändert von kraftzwerg (24.02.09 um 14:23 Uhr)
Ähnliche Themen
-
Shell: Einzelne Datei umbenennen
Von holly123 im Forum Linux & UnixAntworten: 13Letzter Beitrag: 21.04.08, 12:00 -
[BATCH] Dateien umbenennen
Von Chebbes im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 30.04.05, 10:58 -
Einzelne Datei in Windows-Sicherungsdatei *.bkf suchen
Von bogomip im Forum Microsoft WindowsAntworten: 4Letzter Beitrag: 08.11.04, 07:16 -
Batch zum umbenennen
Von hämma im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 31.03.04, 07:49 -
Batch - Datei im Netzwerk Suchen
Von unitet im Forum Sonstige SprachenAntworten: 3Letzter Beitrag: 16.10.03, 09:15





Zitieren
Login





