thamnophis
Goto Top

Mit Batch Dateinamen auslesen und diese in eine Textdatei speichern

Hey,
bin neu hier und versuche einwenig batch zu erlernen.
Hoffe auf ein aktives Forum!

Hallo ihr,

ich versuche grad ein bisschen mit batch zu "programmieren".
Leider komme ich nich so recht weiter.
Ich hoffe mir kann hier geholfen werden.
Erlaeuterung:
In einem Ordner befinden sich viele Dateien eines Dateityps.
Ich moechte die Namen der Dateien auslesen und NUR die Namen in eine Textdatei speichern.
Die .bat befindet sich nicht im Zielordner, die Textdatei soll jedoch dort erstellt werden.
Hier meine ersten Versuche:

@echo off
set "typ=xls"
set "ordner=D:\excel"
::jetzt benoetige ich eine Art Kombination aus:
::%ordner% /b *.xls>namen.txt und
::for /F %%i in ('%ornder% /b *.xls') do set x=%%~ni
::echo %x%>namen.txt

Bekomme im oberen zwar alle Namen, jeoch mit .xls...
Beim unteren den Namen ohne .xls, aber nur den Namen der letzten Datei.
Desweiteren habe ich Probleme mit dem Pfad...ordner funktioniert bei mir nicht.
Habe es immer nur mit dir gemacht und die .bat im Ornder gehabt, was ich nicht wollte.
Wenn ich im Ordner .txt habe, und eine Textdatei schreibe, steht in der Datei als letzter Name namen.txt...

Vielen Dank fuer eure Antworten im Vorraus!
Wenn es komplexer wird, bitte mit Erlaeuterung! Ich will es verstehn!

Content-Key: 168068

Url: https://administrator.de/contentid/168068

Printed on: April 19, 2024 at 01:04 o'clock

Member: Skyemugen
Skyemugen Jun 15, 2011 at 15:57:09 (UTC)
Goto Top
Aloha, au Backe ...

ein aktives Forum sind wir ja aber:
  • wie oft soll man denn noch immer und immer wieder alles neu durchkauen (Suchfunktion? Luxus)
  • wann lernen es die Leute, die zu beachten, vor allem, wenn es um Code-Tags geht
  • kannst du dein Skript bitte selber erst einmal erneut durchlesen und merken, dass dort so viel falsch ist und nicht zu deiner Beschreibung passt (wo ist dir, was ist bitte %ornder%)

*grml* Willkommen im Forum

(@for /f "delims=" %s in ('dir /b "D:\excel\*.xls"') do @echo %~ns)>"D:\excel\namen.txt"

greetz André

nein, das ist kein Batch, nur ein Einzeiler
Member: Thamnophis
Thamnophis Jun 15, 2011 at 16:13:38 (UTC)
Goto Top
Du bist wohl der Mehrzeiler^^ Danke dir.
Wirst es net glauben...hab bestimmt 7 Threads ausgerduckt und heute fast 3Stunden dran gebastelt.
Programmiern bissel Basic und html nebenbei...
Hab in der ganzen Zeit nicht mal gefunden was diese ganzen /Buchstabe-Befehle machen...
Man finded nur komplette Kommando Listen...toll...
Whatever...
Member: Friemler
Friemler Jun 15, 2011 at 16:28:45 (UTC)
Goto Top
Hallo Thamnophis,

evtl. Bist Du ja zu jung um das zu wissen, aber es gibt bei Befehlen, die für die Ausführung aus einer Konsole/Shell bestimmt sind, die alte Tradition, dass jeder Befehl den Parameter /?, unter MS-Betriebssystemen seltener auch -?, versteht. Das zeigt dann die Hilfe zum jeweiligen Befehl an. Und heutzutage hat man sogar den Luxus zur Verfügung, den Inhalt des Konsolenfensters nach oben scrollen zu können, um auch längere Hilfetexte komplett am Bildschirm lesen zu können.

Ich dachte früher hat man auswendig gelernt und heute lernt man sich Informationen zu beschaffen. Aber das klappt wohl auch nicht immer.

Gruß
Friemler
Mitglied: 60730
60730 Jun 15, 2011, updated at Oct 18, 2012 at 16:47:16 (UTC)
Goto Top
Moinsen,

(auch wenn der grüne Haken schon dran klebt...)


Zitat von @Thamnophis:
Hier meine ersten Versuche:

@echo off

  • Les dir mal das durch, das meinereiner mal aufgemalt hat.
Desweiteren habe ich Probleme mit dem Pfad...ordner funktioniert bei mir nicht.

set "ordner=D:\excel"  
for /F %%i in ('%ornder% /b *.xls') do set x=%%~ni  
Ordner <> ornder

  • Batch ist - wie jede andere programmiersprache - nur so schlau, wie der Autor des Gesamtkunstwerks.
Vielen Dank fuer eure Antworten im Vorraus!
  • Diese Zeile ist zwar nett gemeint - impliziert aber einen faden Nebengeschmack
Wenn es komplexer wird, bitte mit Erlaeuterung! Ich will es verstehn!
Ich hoffe es.

Gruß