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

Frage Entwicklung Batch & Shell

Batch-Programmierung Ergebnis einer FOR-Schleife übergeben

Mitglied: Alex81m

Alex81m (Level 1) - Jetzt verbinden

24.06.2011, aktualisiert 18.10.2012, 5724 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 - 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 ...

Batch & Shell
Batch Variablen in for-Schleife
gelöst Frage von Dacki1107Batch & Shell2 Kommentare

Hallo Liebe Administratoren Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt. Ich versuche eine ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...