Mit einer Batchdatei ein LW suchen

cyanno

Newbie
Registriert
Apr. 2017
Beiträge
6
Hallo zusammen,

Bin ein Win7 Nutzer, als absoluter Neuanfänger habe ich früher mal eine Batchdatei zusammengeschuster mit dem Ziel:

Ein eingestecktes externes LW mit einem spezifischer Name (hier BU_LEO) zu suchen und hierauf mit robocopy Daten zu sichern.
Die Batchdatei habe ich hier noch, hat leider ein Fehler...
Hat jemand Lust hier kurz zu helfen? Und kann man auch eine Ausgabe machen wenn keine Laufwerk gefunden wird?

LG
Cyanno


hier die kaputte Datei:


for %%i in (e,f,g,h,i,j,k,l) do if exist %%i:\BU_LEO\ set lw=%%i:
echo on
cd c:\

echo %lw%\

pause
rem robocopy c:\Users\Leonardus\AppData\Roaming\Thunderbird %lw%\BU_LEO\Thunderbird /mir
pause
rem robocopy c:\Users\Leonardus\AppData\Roaming\Mozilla %lw%\BU_LEO\Mozilla /mir
rem pause

echo %lw%\
 
Welchen Fehler hat die denn?
Den, dass das kopieren auskommentiert ist?
Werd doch mal ein bisschen genauer.
 
ausreichend Laufwerksbuchstaben?, was passiert, wenn das Laufwerk den Laufwerksbuchstaben x bekommt?
c oder C?
 
Hallo,

mein Problem ist, dass ich keine Ausgabe vom gesuchten LW bekomme (habe ja nur max bis g: belegt, insoweit reicht die LW Anzahl).
Da kein LW angeben wird kopiert diese Batchdatei lustig in meinem C:, deshalb diese rem vor dem Befehl.


batch.jpg
 

Anhänge

  • batch.jpg
    batch.jpg
    90 KB · Aufrufe: 232
Zuletzt bearbeitet:
Das Skript ist einfach nicht richtig verschachtelt:
Code:
@echo off
for %%i in (c,h,i,j,l,m) do (
     if exist %%i:\TEST (
          REM echo Ordner unter %%i gefunden
          REM pause
          set LW=%%i:
     ) else (
           REM echo Ordner unter %%i NICHT gefunden
           REM pause
     )
)
xcopy "C:\test1.txt" "%LW%\Testordner1\Testordner2"
pause
 
Zuletzt bearbeitet:
Danke für diese Kommentare, aber da alles böhmische Dörfen für mich sind lasse ich meine Finger von diese Programmierung.
Für einen einzige Anwendung die ganze Programmierung zu lernen ist für mich zu umständlich
LG
Cyanno
 
:lol:
und das, wo dir ryan einen fast fertigen Sourcecode getexted hat, den du nur noch anpassen müsstests? :freak:
 
@rg88, hast ja recht! War eben etwas genervt weil eine erste Anpassung nicht mit echo verfolgt werden konnte. Aber jetzt klappt es!

@ryan, herzlichen Danke nochmals

LG
Cyanno
 
Zuletzt bearbeitet:
Hallo rg88 bzw. ryan_blackdrago,

noch 2 Fragen hinterhergeschoben:

1) wie kann dieser Thread als gelöst gekennzeichnet werden?

2) wo kann ich die von ryan benutzte Befehlsstruktur "do" mit den Anführungszeichen ( ) etwas näher kennerlernen, habe schon was gegoogelt aber nicht verwendbares gefunden.

Danke nochmals
Cyanno
 
Hier im Forum werden Threads nicht über ein Forumsystem als gelöst markiert, aber aus dem Threadverlauf wird das hier ja schnell ersichtlich.

Nachschlageseite für cmd: https://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle
Oder auch einfach in die Konsole den Befehl gefolgt von der Option /? eintippen. Also hier bspw. for /?.
 
cyanno schrieb:
2) wo kann ich die von ryan benutzte Befehlsstruktur "do" mit den Anführungszeichen ( ) etwas näher kennerlernen, habe schon was gegoogelt aber nicht verwendbares gefunden.

Das hat nicht wirklich etwas mit einer Befehlsstruktur zu tun, sondern eher mit der ordentlichen Terminierung einer Schleife. Das sieht je nach interpreter oder Programmiersprache ggf. auch anders aus.
Die Formatierung des Skriptes durch die Forensoftware gibt es ja auch schon her: Du kennzeichnest Durch die Klammern zusammengehörige Blöcke/Bestandteile der Schleife. Klammer auf, Schleife beginnt. Klammer zu: Schleifenende, alles, was dahinter kommt, gehört zu einem anderen Block. Deswegen setzt Dir die Forensoftware auch die Einrückungen passend, zur leichteren Lesbarkeit. Machst Du ja hoffentlich auch selbst beim Schreiben.
 
@Twostone
Danke für diese Klarstellung!
Wunsche ein Frohes Osterfest

LG
Cyanno
 
Zurück
Oben