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

Dateien aus Ordnern einlesen und wieder als Variable ausgeben

Frage Entwicklung Batch & Shell

Mitglied: theone101

theone101 (Level 1) - Jetzt verbinden

14.02.2008, aktualisiert 15.02.2008, 6335 Aufrufe, 12 Kommentare

Hallo zusammen,

ich soll aus Ordner und Unterodner (die mir nicht bekannt sind, sprich ich weis nicht wie viele es gibt) Datien mit Endung *.ts auslesen diese *.ts sollen dann mit dem Befehl TsToXml -f TsToXmlConfig.xml [datiename].ts in XML konvertiert werden.

Ich möchte also eigentlich nur eine schleife die dies erreicht das alle meine Dateien die ich aus den ganzen Ordnern und Unterordnern ausgelesen hab konvertiert werden.

Ich habe schon versucht die Dateien einzulesen und mit dir /b /s *.ts > C:\test.txt geht das auch, er schreibt mir alle Pfade in die test.txt.

Sprich das sieht dann so aus:
C:\Dokumente und Einstellungen\[Ordner]\[Unterordner]\[unbekannt]\muc.ts
C:\Dokumente und Einstellungen\[Ordner]\[Unterordner]\[unbekannt]\muc_690000khz_8mhz.ts
C:\Dokumente und Einstellungen\[Ordner]\[Unter]\[unbek]\[unbek]\muc_834000khz_8mhz_2.ts


Mein Problem ist aber, ich weis nicht wie ich die unterschiedlichen Dateinamen auslesen soll und als variable so in eine schleife packe das ich sie in dem TsToXml Befehl alle Dateien konvertieren kann.

Hoffe da kann mir jemand weiter helfen.

Gruß Thomas

P.S. Danke schon mal im vorraus.
Mitglied: Dani
14.02.2008 um 10:10 Uhr
Hallo Thomas,
probier es mal so:
01.
@echo off 
02.
 
03.
for /f "delims=" %%a in ('dir /s /b "C:\Test" *.ts') do TsToXml -f TsToXmlConfig.xml "%%a"
Es handelt sich um eine einfache Schleife wo, einfach alle Dateien die mit *.ts enden mit den DO-Körper verarbeitet.


Gruß
Dani
Bitte warten ..
Mitglied: theone101
14.02.2008 um 10:25 Uhr
Ne geht leider net ich muss ja in der schleife noch ne variable setzen damit ich ja aus den Textzeilen nur meine z.b. muc.ts rauslese und diese hinten am Befehl TsToXml anhängen kann.

Also TsToXml -f TsToXmlconig.xml muc.ts

In der Datei stehen meine Gelesenen Pfade die ich ja so drinnen habe (z.B.):
C:\Dokumente und Einstellungen\[Ordner]\[Unterordner]\[unbekannt]\muc.ts
C:\Dokumente und Einstellungen\[Ordner]\[Unterordner]\[unbekannt]\muc69000_0khz_8mhz.ts
C:\Dokumente und Einstellungen\[Ordner]\[Unter]\[unbek]\[unbek]\muc_834000khz_8mhz_2.ts
...

Ich möchte nun das meine Batsch aus der ersten zeile nur muc.ts ausliest und dan mir muc.ts hinten an meinen TsToXML Befehl anfügt. Nach der Ausführung des Befehls soll die nächste Zeile eingelesen werden hir wieder nur muc69000_0khz_8mhz.ts und diese soll wieder hinten angehängt werde aber nur diese datei alo nicht der ganze Pfad. usw.

Aber trotzdem Danke
Vielleicht hat ja jemand auch ne andere Idee wie man des schneller machen könnte

Gruß Thomas
Bitte warten ..
Mitglied: bastla
14.02.2008 um 10:44 Uhr
Hallo theone101!

Auch wenn ich den Sinn, nur den Namen einer Datei, welche sich in irgendeinem Unterordner befindet, anzugeben, nicht nachvollziehen kann:
01.
for /f "delims=" %%a in (C:\test.txt) do TsToXml -f TsToXmlConfig.xml "%%~nxa"
Mehr zum Thema findest Du unter "for /?".

Grüße
bastla

[Edit] Überzähliges "l" aus "delims" entfernt. [/Edit]
Bitte warten ..
Mitglied: theone101
14.02.2008 um 13:33 Uhr
Ja hat leider net Funktioniert weis auch net warum er hat die Variable net gefunden bzw hat diese net mit den einzelnen Namen genomen sonder wieder mit dem ganzen Pfad.

Vielleicht hab ich des auch zu unverstädlich geschreiben.

Ich möchte eigentlich nur eine Batch die Dateinamen aus nem Ordner ausliest und diese Dateinamen mit der Endung .ts egal wie viele es sind nacheinander dem Befehl TsToXml übergeben werden. Damit ich des nicht einzeln von Hand abarbeiten muss weil des schon verdamt viele sind

Gruß Thomas
Bitte warten ..
Mitglied: theone101
14.02.2008 um 14:39 Uhr
OHHH ich hab jetzt den Fehler endekt.
Ich darf net den Pfadnamen mit Leerzeichen haben hier halt [Dokumente und Einstellungen].

Als ich alles verschoben habe nur in C:\ dan gings. Vielleicht hat ja irgend einer ne Lösung wie man des mit Leerzeichen machen kann.

Gruß Thomas
Bitte warten ..
Mitglied: Dani
14.02.2008 um 14:41 Uhr
Hallo Thomas,
Vielleicht hat ja irgend einer ne Lösung wie man des mit Leerzeichen machen kann.
Analysiere mal meinen 1. Codeblock...da wirst du die Lösung direkt sehen....


Grüße
Dani
Bitte warten ..
Mitglied: theone101
14.02.2008 um 14:55 Uhr
Ohhh hab noch was endeckt und zwar er wandelt mir alle .ts dateien die im selben verzeichnis sind um aber die Unterordner leider nicht. Weis da jemand wie man dies beheben kann?

Gruß Thomas
Bitte warten ..
Mitglied: bastla
14.02.2008 um 17:23 Uhr
Hallo theone101!

Vielleicht solltest Du nicht nur die Dateinamen, sondern auch die Pfade verwenden ...

Die Leerzeichen im Pfadnamen hätten sich übrigens bei keiner der angebotenen Varianten auswirken dürfen, da "%%a" immer unter Anführungszeichen geschrieben war - außer natürlich, Dein Batch enthält Bestandteile, von denen wir noch nichts wissen.

Falls es Dir unter diesem Aspekt ein Bedürfnis sein sollte, den aktuellen Stand deines Batches zu posten, verwende für die Darstellung bitte <code>-Tags.

Grüße
bastla
Bitte warten ..
Mitglied: theone101
15.02.2008 um 06:39 Uhr
Morgen erst mal, ich möchte allen erst mal herzlich Danken ihr habt mir schon sehr viel weiter geholfen, ich hoffe wir können auch noch den rest der Problemstellung Lösen

Also hier ist der Code:
01.
@echo off 
02.
 
03.
dir /b /s *.ts > C:\test.txt 
04.
 
05.
for /f "delims=" %%a in (C:\test.txt) do TsToXml -f TsToXmlConfig.xml "%%~nxa" 
06.
 
07.
pause
Nun leider benutzt er nicht die Pfade für die Unterdateien und nimmt nur Ihre Namen was mein Befehl TsToXml ja dann nicht wissen kann wo die Datei ist. Der denkt die Datei ist im Selben verzeichniss wie die Batch weil er ja nur den Namen der Datei aus der test.txt ausliest und nicht den ganzen Pfad.

Ich hoffe ihr könnt mir da ein bissle weiterhelfen.

Gruß Thomas
Bitte warten ..
Mitglied: theone101
15.02.2008 um 07:26 Uhr
Hallo noch mal. Tja so schnell kanns gehn habs haraus gefunden.

Für jeden des interesiert:

01.
 
02.
@echo off 
03.
 
04.
dir /b /s *.ts > C:\test.txt 
05.
 
06.
for /f "delims=" %%a in (C:\test.txt) do TsToXml -f TsToXmlConfig.xml "%%~pnxa" 
07.
 
08.
pause
Hab einfach des p dazugefügt für den ganzen Pfad und schon hats geklappt.

Danke nochmal an euch alle. Hätte es ohne euch net geschaft.

Gruß Thomas
Bitte warten ..
Mitglied: Dani
15.02.2008 um 08:27 Uhr
Moin!
Dann leg ich noch einen drauf. :-P

01.
@echo off 
02.
 
03.
for /f "delims=" %%a in ('dir /b /s *.ts') do TsToXml -f TsToXmlConfig.xml "%%~pnxa" 
04.
pause
Grüße
Dani

P.S. Sieht meinem 1. Kommentar ziemlich ähnlich. *g*
Bitte warten ..
Mitglied: bastla
15.02.2008 um 09:39 Uhr
... ich möcht' auch noch mal:
01.
@echo off 
02.
 
03.
for /f "delims=" %%a in ('dir /b /s *.ts') do TsToXml -f TsToXmlConfig.xml "%%a" 
04.
pause
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...