Top-Themen

Aktuelle Themen (A bis Z)

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

Batch-Programmierung Ergebnis einer FOR-Schleife übergeben

Mitglied: Alex81m

Alex81m (Level 1) - Jetzt verbinden

24.06.2011, aktualisiert 18.10.2012, 5824 Aufrufe, 3 Kommentare

Batch-Programmierung Ergebnis einer FOR-Schleife übergeben

Hallo Zusammen,

hänge gerade an einem Problem bei welchem ich Hilfe benötige.
Ich möchte ein Batch-Skript bauen, welches mir in allen Verzeichnissen und Unterverzeichnissen nach MP3 Dateien sucht und die Ergebnisse dann weiterverarbeiten. Nun steh ich vor der Herausforderung die For-Schleifen-Ergebnisse auszulesen.
Aktuell habe ich folgenden CODE
01.
for /f "delims=" %%i IN ('dir /b /s *.mp3') do (  
02.
SET myString="%%i" 
03.
echo Ergebnis Forschleife: %%i 
04.
echo Ergebnis Variable: %myString% 
05.
REM ToDo Splitstring, Move 
06.
)
Nun bekomme ich jedoch folgende Ausgaben:
01.
c:\temp>Script.cmd 
02.
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 1\1.mp3 
03.
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3" 
04.
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 2\Unterordner 2.1\2.mp3 
05.
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3" 
06.
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 3\3.mp3 
07.
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3"
Mir ist absolut schleierhaft warum ich immer nur den letzten Wert der For-Schleife in der Variablen habe.
Bin für Ideen und Tipps offen.
Danke
Mitglied: bastla
24.06.2011, aktualisiert 18.10.2012
Hallo Alex81m und willkommen im Forum!
Mir ist absolut schleierhaft warum ich immer nur den letzten Wert der For-Schleife in der Variablen habe.
Wird es nicht mehr sein, wenn Du Dich etwas mit "delayedExpansion" beschäftigst - Du findest einiges zu diesem Stichwort hier im Forum. Schau Dir auch Friemlers Tutorial zur FOR-Schleife an.
Abgesehen davon ist es uU gar nicht erforderlich, die gefundenen mp3-Dateipfade in eine Variable zu übernehmen - was hast Du denn konkret damit vor?

Grüße
bastla
Bitte warten ..
Mitglied: Alex81m
24.06.2011 um 01:30 Uhr
Hi Bastla,

danke für den Tipp werde mir mal "delayedExpansion" anschauen .
Was ich damit vor habe? Ich möchte die Dateien aus dem Quellverzeichnis in ein neues Verzeichnis verschieben und genau die Ordnerstruktur der Quelle auf dem Ziel abbilden.
Beispiel Quelle: C:\Dir1\Dir2\Dir3\Dir4\1.mp3 nach Ziel D:\Dir1\Dir2\Dir3\Dir4\1.mp3
Mein Ansatz wäre nun ein Stringsplit um den Dateinamen zu erhalten und das Ziel zu replacen.

Grüße Alex81m
Bitte warten ..
Mitglied: bastla
24.06.2011 um 01:46 Uhr
Hallo Alex81m!

Wenn es tatsächlich nur darum ginge, "C:" durch "D:" zu ersetzen, sollte ja
01.
for /f "delims=" %%i IN ('dir /b /s C:\temp\*.mp3') do ( 
02.
    echo xcopy /dy "%%i" "D:%%~pnxi*" 
03.
    REM xcopy /dy "%%i" "D:%%~pnxi*" && del "%%i" 
04.
)
genügen ...

Zum Testen wird nur der Kopierbefehl angezeigt - wenn es vernünftig aussieht, kannst Du die Zeile 2 und das REM vor der Zeile 3 entfernen; dann wird zuerst kopiert ("xcopy" kann nämlich, anders als "move", den Zielpfad bei Bedarf erstellen) und, wenn kein Fehler aufgetaucht ist (deshalb die Verknüpfung mit "&&") danach die Quelldatei gelöscht.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch: Parameter in einer For Schleife an eine Variable übergeben

gelöst Frage von BatchAnfaenger91Batch & Shell2 Kommentare

Hallo Liebe Leute, nun bin ich fast am Ende und bleibe trotzdem an Parameterübergabe hängen. Hier ist mein bisheriger ...

Batch & Shell

Batch Schleife als FOR-SCHLEIFE

gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell

Batch Problem bei einer For Schleife

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo Ich komme nicht dahinter ist sicher nur ein kleines Problem, aber es wird keine Ausgabe gemacht Eigentlch willich ...

Batch & Shell

Batch - Hilfe bei FOR-Schleife

gelöst Frage von makroll10Batch & Shell8 Kommentare

Hallo, aus einer Access-Datenbank heraus rufe ich per VBA den u.a. Batch mit den Parametern: Reports!UB_System!Pfad ("C:\Users\User\Documents\Polar\") und Reports!UB_Polar!hrmexport1 ...

Neue Wissensbeiträge
Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 12 StundenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 18 StundenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 1 TagMicrosoft Office5 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Humor (lol)

Warum man sein Gast-WLAN nicht beliebig nennen sollte

Erfahrungsbericht von Henere vor 2 TagenHumor (lol)5 Kommentare

Servus, mal was aus dem Alltag. Zu Hause. Eigentlich wollte ich nur einen weiteren WLAN-AP ins Netz bringen, damit ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless12 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...