Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Anhand des Dateinames, die Datei in ein anderes Verzeichnis verschieben

Frage Entwicklung Batch & Shell

Mitglied: Florian88

Florian88 (Level 1) - Jetzt verbinden

14.01.2013 um 16:29 Uhr, 1534 Aufrufe, 1 Kommentar

Hallo Liebe Forum-User,

ich habe folgendes Problem, wobei ihr mir vielleicht behilflich sein könntet.

Ich habe ein Quellverzeichnis (C:\temp), wo verschiedene Dateien liegen und ein Zielverzeichnis (D:\...).

Merkmale:

- Jede Datei fängt mit der gleichen Syntax an
- Ab dem 6 Buchstaben verändert sich der Name

Beispiel:

RDL00_n_
RDL00_k_
RDL00_o_

Nun möchte ich gerne alle Dateien aus dem Quellverzeichnis, die den Buchstaben "n" an der 6 Stelle besitzen in das Verzeichnis D:\MIT_n\ kopieren. Das gleiche mit den anderen, entsprechend in einen anderen Ordner.

Wie kann ich das am Besten lösen und habt ihr ein Lösungsansatz für mich.

Vielen Dank im Voraus für die Unterstützung.
Mitglied: bastla
14.01.2013, aktualisiert um 17:33 Uhr
Hallo Florian88!

Da drängt sich eine Zerlegung anhand des Trennzeichens "_" auf - ungetestet etwa:
01.
@echo off & setlocal 
02.
set "Quelle=C:\temp" 
03.
set "Ziel=D:\MIT_" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "tokens=1,2* delims=_" %%a in ('dir /b/a-d') do xcopy "%%a_%%b_%%c" "%Ziel%%%b\" 
07.
popd
Kurze Erklärung:
Nach dem vorübergehenden Wechsel in das Quellverzeichnis mit "pushd" wird ein Inhaltverzeichnis nur mit Dateinamen erzeugt und jeder der Namen zerlegt - durch die Trennung bei "_" entstehen 3 Tokens:
1 = %%a = "RDL00" 
2 = %%b = "n" (oder "k" oder "o") 
* = %%c = alles, was nach dem zweiten "_" noch folgt (inkl. Dateityp)
Die Verwendung von "xcopy" hat den Vorteil, dass, falls der Zielordner noch nicht existiert, dieser automatisch erstellt wird. Der Backslash am Ende der Zielangabe weist das Ziel als Verzeichnis aus, womit sich "xcopy" die entsprechende Rückfrage
Ist das Ziel MIT_n ein Dateiname 
oder ein Verzeichnisname 
(D = Datei, V = Verzeichnis)?
erspart ...

Grüße
bastla
Bitte warten ..
Heiß diskutierte Inhalte
Exchange Server
gelöst Email in Exchange an 2ten Empfänger senden (18)

Frage von MultiStorm zum Thema Exchange Server ...

Weiterbildung
Gehaltsvorstellungen (14)

Frage von SYS64738 zum Thema Weiterbildung ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...