Entfernen Sie die mittlere Zahl aus mehreren Dateien und kopieren Sie sie

2

Ich habe die mehreren PDF-Dateien in einem bestimmten Format in einem bestimmten Ordner und für diese bestimmten Dateien muss ich die mittlere Nummer mit Hilfe der Fledermausdatei zuschneiden und zum Zielordner mit dem neuen Namen wechseln.

Detail

  • Quellverzeichnis: C:/roger/brawn

  • Ziel: D:/var/lag

  • Datei Format: eAWI_12345678_89101112_01Mar2018.pdf

Erwünschtes Ergebnis

Ich muss das kürzen 89101112 vom ursprünglichen Quelldateinamen  und erhalten ein Ergebnis von eAWI_12345678_01Mar2018.pdf

Dieses Dateinamensnummernformat wird dynamisch mithilfe von Variablen in einer Anwendung generiert.

DINE
quelle
Was ist mit dem aktuellen Status los?
Pimp Juice IT

Antworten:

0

Sie können a verwenden FOR / F Schleife und setzen Sie den Unterstrich in den Dateinamen als Trennzeichen. Sie können Token verwenden 1,2,3,* um später Variablen zu verketten, um den Quell- und Zieldateinamen für die spätere Verwendung mit dem zu erstellen und zu analysieren XCOPY Befehl, um das gewünschte Ergebnis zu erhalten.

Batch-Skript

@ECHO ON
SET Source=c:/roger/brawn
SET Destination=D:/var/lag
FOR /F "TOKENS=1,2,3,* DELIMS=_" %%F IN ('DIR /B /A-D "%source%\*.pdf"') DO ECHO F | XCOPY /Y /F "%source%\%%F_%%G_%%H_%%I" "%Destination%\%%F_%%G_%%I" && IF EXIST "%Destination%\%%F_%%G_%%I" DEL /Q /F "%source%\%%F_%%G_%%H_%%I"
EXIT

Hinweis: Das ECHO Befehlsleitungen an F zum XCOPY Befehl, damit er implizit auswählt F für "Datei", da der neue Zieldateiname explizit angegeben wird, der das dritte Token in der Schleife analysiert, um den gewünschten Dateinamen zu ermitteln. Das XCOPY Kommando wird gefolgt von der Bedingte Ausführung (& amp; & amp;) Bestätigen Sie, dass es erfolgreich war, und bestätigen Sie dann das Vorhandensein der neuen Zieldatei, bevor Sie die ursprüngliche Quelldatei löschen.


Weitere Ressourcen

Pimp Juice IT
quelle