Batch-Skript: Verschieben Sie Dateien in entsprechende Ordner mit ähnlichem Namen

Batch-Skript: Verschieben Sie Dateien in entsprechende Ordner mit ähnlichem Namen

Ich versuche, eine papierlose Praxis einzurichten und alle Patientendaten elektronisch zu speichern. Ich habe bereits 8000 Ordner (1 - 8000) erstellt und muss nun ungefähr 16000 PDF-Dateien in entsprechende Ordner verschieben, z. B. müssen „202 Krankenversicherungskarte“, „202 Arztüberweisung“, „202 Krankmeldung“ in den Ordner „202“ verschoben werden. Alle Dateien werden in einem Ordner gespeichert.

Vielen Dank im Voraus.

Antwort1

Wenn Ihre Situation istDaseinfach, dann sollten Sie einfach mit der Eingabe von Betriebssystembefehlen wie den folgenden fortfahren:

MOVE 202* 202\

Und so weiter.

Antwort2

Erweiterung der anderen aktuellen Antwort auf diese Frage:

  1. Öffnen Sie ein neues Textdokument in einem einfachen Texteditor (z. B. Windows Notepad) und kopieren Sie die folgenden Stapelanweisungen:

    FOR /L %%G IN (1,1,8000) DO (
        MOVE ".\%%G *" ".\%%G\"
        )
    
  2. Speichern Sie diese Datei beispielsweise als sort_files.bat.

  3. Platzieren Sie diese .batDatei im selben Ordner wie die Dateien, die Sie sortieren möchten.

  4. Führen Sie sort_files.bates entweder durch Doppelklicken oder durch Ausführen von der Befehlszeile aus aus.

Vorbehalte

  • .\%%G *nimmt das Dateinamenformat an, z. B. 202 Medical Aid Card. Wenn Sie das Leerzeichen vergessen (also .\%%G*), werden Ihre Dateien NICHT richtig sortiert und Sie erhalten eineriesigKopfschmerzen (also tu das nicht! =P).

  • .\%%G\geht davon aus, dass sich Ihre vorhandenen Ordner im selben Verzeichnis wie Ihre Dateien befinden. Wenn dies nicht der Fall ist, ersetzen Sie es .durch den tatsächlichen Pfad zu Ihrem Ordnerverzeichnis (z. B. C:\path\to\folder\directory\%%G\).

  • Im Ausdruck bestimmt (1,1,8000)der letzte Wert (z. B. 8000), wie viele Schleifen insgesamt verarbeitet werden. Möglicherweise möchten Sie zunächst eine Reduzierung (1,1,8000)auf eine überschaubare Zahl (z. B. (1,1,10)) in Betracht ziehen, um Ihre Batchdatei zu testen (und alle Ergebnisse zu überprüfen), bevor Sie zu übergehen (1,1,8000).


Anmerkungen

  • %%Gist die Batchvariable, die zum Durchzählen der Schleife verwendet wird. Sie wird beim Abarbeiten der Schleife durch eine Zahl ersetzt. So MOVE ".\%%G *" ".\%%G\"wird z. B. MOVE ".\1 *" ".\1\".

  • Im Befehl MOVE ".\%%G *" ".\%%G\":

    • Anführungszeichen sind technisch nur erforderlich, wenn der Pfad Leerzeichen enthält (z. B. ), werden aber aus Konsistenzgründen ".\%%G *"sowohl im Quellpfad ( .\%%G *) als auch im Zielpfad ( ) verwendet..\%%G\

    • .ist eine Kurzform für „das aktuelle Verzeichnis“.

    • *ist ein Platzhalter. Beispiel .\%%G *bedeutet also „jede Datei im aktuellen Verzeichnis, die mit %%G(zB 1) beginnt, gefolgt von einem Leerzeichen und beliebigen anderen Zeichen ( *)“.


Verweise

verwandte Informationen