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
GELÖST

Rename und copy

Frage Entwicklung Batch & Shell

Mitglied: mixmax

mixmax (Level 1) - Jetzt verbinden

11.01.2010 um 11:48 Uhr, 2804 Aufrufe, 3 Kommentare

Hallo Zusammen,

ich möchte per batch Unterverzeichnisse, in denen sich jeweils gleichnamige Dateien befinden auflösen.

Das Ergebnis eines Datenbankexports ist ein Verzeichnis "Export_Datum" mit 174 Unterverzeichnissen in denen jeweils gleichnamige Dateien stehen.
Um alle Dateien gleichzeitig weiterverarbeiten zu können, suche ich nach einem batch-script, das folgendes ausführt:
1. Die Dateien in den Unterverzeichnissen so umbenennt, daß der neue Dateiname aus dem namen des Unterverzeichnisses und dem Dateinamen gebildet wird.
2. Alle Dateien in das Exportverzeichnis kopiert.
Leider sind meine Batch-Kenntnisse noch sehr gering. (Ich hoffe das ändert sich bald
Kann mir irgendjemand helfen?
Mitglied: bastla
11.01.2010 um 17:47 Uhr
Hallo mixmax und willkommen im Forum!

Wenn Du Dir sicher bist, dass die Ausgangsdateien und nicht nur die Kopien umbenannt werden sollen, dann etwa so:
01.
@echo off & setlocal 
02.
set "Basis=D:\Export_Datum" 
03.
 
04.
pushd "%Basis%" 
05.
for /d %%i in (*.*) do for /f "delims=" %%a in ('dir /b /a-d "%%i"') do ren "%%i\%%a" "%%~nxi_%%a" && copy "%%i\%%~nxi_%%a">nul 
06.
popd
Grüße
bastla
Bitte warten ..
Mitglied: mixmax
12.01.2010 um 09:26 Uhr
Hallo bastla,

herzlichen Dank! Genau so hatte ich es mir vorgestellt. Dein Hinweis auf die Kopien ist korrekt. Da der Ordner "Export_Datum" bereits eine Kopie ist und es gilt, Datenmüll zu vermeiden werde ich das copy noch durch ein move ersetzen und die dann leeren Verzeichnisse löschen. Das wird meine "Batch-Lern-Aufgabe". Diesbezüglich noch eine Frage: Kannst Du eine gute Batch-Dokumentation im Netz (wie beispielsweise selfhtml) oder auch in Buchform empfehlen?

Viele grüße
mixmax
Bitte warten ..
Mitglied: bastla
12.01.2010 um 15:49 Uhr
Halo mixmax!

Da Du Dich für "move" entschieden hast, ließe sich das Ganze noch abkürzen:
for /d %%i in (*.*) do for /f "delims=" %%a in ('dir /b /a-d "%%i"') do move "%%i\%%a" "%%~nxi_%%a">nul
Zur Batch-Doku leider Fehlanzeige - für mich galt eigentlich immer schon (hinsichtlich Batch jedenfalls seit über 20 Jahren) das Prinzip "learning by doing"; deshalb habe ich (und tue es immer noch) von diesem Forum hier mit seinen konkreten Beispielen so viel profitiert ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Hilfe bei einfachem Powershell Copy-Script (8)

Frage von pcpanik zum Thema Windows Server ...

Windows Server
Copy and Paste in eine RDP Anmeldung (6)

Frage von KLeinstein.tm zum Thema Windows Server ...

Batch & Shell
gelöst Batch mit Copy auf SBS2008 funktioniert nicht, auf Client geht es (9)

Frage von CyCOtt zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

LAN, WAN, Wireless
IP Sec Client legt Netzwerkkarte lahm (12)

Frage von mario87 zum Thema LAN, WAN, Wireless ...