Wie man richtig verwenden Sie eine IF-und GOTO-Anweisung

Habe ich null Erfahrung mit dem schreiben von batch-Dateien, aber mein Ziel scheint nicht schwer. Ich bin versucht, zu schreiben ein kleines Skript, das auffordern eines Benutzers zum eingeben einer ID-Nummer und dann die Suche in einem Verzeichnis .jpg-Dateien und kopieren Sie alle Bilder mit der ID-Nummer in einem separaten Verzeichnis. Die .jpgs sind Namen xxxxxx_zzz.jpg wobei xxxxxx ist die ID-Nummer mit bis zu 6 Ziffern und zzz ist die Sequenz-Nummer. Zum Beispiel, eine ID haben kann, viele Bilder: 123456_001.jpg, 123456_002.jpg, 123456_003.jpg usw.

Ich habe schon mit mehreren IF und GOTO Befehle, aber ich scheine zu sein, abweichend von meinem Ziel. Ich kenne zwei IF Aussagen, die ich derzeit verwende sind unten Müll, aber ich verließ Sie in der syntax zu vermitteln, die Richtung, die ich denke, dass ich mich bewege.

Komme ich nicht an die IF Aussagen zu verwenden, die GOTO Befehle. Ich glaube nicht, dass ich völlig verstehen, wie labels funktionieren soll.

   @ECHO OFF
   CLS
:START
   DEL /q C:\Users\ADMIN\Desktop\temp\*.*
:GETINPUT
   set /p propkey=Enter the Property Key of pictures to retrieve.:
   IF EXIST C:\Users\ADMIN\Desktop\photos\*%propkey%_???.jpg GOTO Success
   IF "%propkey%"=="" ECHO No Property Key was entered. GOTO START
:Success
   ECHO Pictures from Property Key %propkey% will now be moved to the Temp folder on the Desktop. && PAUSE
   COPY "C:\Users\ADMIN\Desktop\photos\*%propkey%*.jpg" "C:\Users\ADMIN\Desktop\temp\"
   START C:\Users\ADMIN\Desktop\temp\
:END
  • WENN VORHANDEN, tut ja Unterstützung von wildcards für Dateinamen.
InformationsquelleAutor user3093135 | 2013-12-11
Schreibe einen Kommentar