Dateiname in CSV-Datei schreiben
[Edit]Titel editiert. Biber [/Edit]
[Edit II]Beitrag auf gelöst gesetzt und geschlossen 25.2.2006 Biber [/Edit]
hi, also ich will ein Verzeichnis überwachen sobald eine neue Datei hin kopiert wird schreibt ein script in eine cvs Datei den Namen der Datei.
ich dachte zuerst an "dir *.zip >inhalt.cvs" aber da sind zu viel unwichtige Infos drinne wie große usw. nun müsste ich das ja nur kürzen ... aber wie?
[Edit II]Beitrag auf gelöst gesetzt und geschlossen 25.2.2006 Biber [/Edit]
hi, also ich will ein Verzeichnis überwachen sobald eine neue Datei hin kopiert wird schreibt ein script in eine cvs Datei den Namen der Datei.
ich dachte zuerst an "dir *.zip >inhalt.cvs" aber da sind zu viel unwichtige Infos drinne wie große usw. nun müsste ich das ja nur kürzen ... aber wie?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 23564
Url: https://administrator.de/forum/dateiname-in-csv-datei-schreiben-23564.html
Ausgedruckt am: 22.04.2025 um 03:04 Uhr
1 Kommentar
Moin Schlemmer,
ich bin nicht ganz sicher, ob Du tatsächlich das "Concurrent Versions System" CVS mit diesen Infos füttern willst oder doch nur "Comma Separated Value"-Textdateien erzeugen willst.. ich gehe mal von den (Excel-tauglichen) *.csv-Dateien aus.
In letzterem Fall hast Du viele Möglichkeiten, je nachdem welche Datei-Infos Du für erhaltenswert hältst.
Wenn Du nur den nackten Pfad- und Dateinamen brauchst, bekommst Du den mit "dir /b *.zip" geliefert.
Wenn Du zusätzliche Infos wie Datum/Uhrzeit brauchst (aber nicht die Größe beispielsweise), dann kannst Du die Ausgabe des normalen DIR-Befehls spaltenweise mit dem FOR /F..IN..DO..auswerten.
Beispiel am CMD-Prompt:
$cmd$ dir *.txt
Datenträger in Laufwerk Z: ist GARBAGE5
Datenträgernummer: 7FFF-FFFF
Verzeichnis von Z:\
04.04.2000 23:19 4.069 putinenv.txt
1 Datei(en) 4.069 Bytes
0 Verzeichnis(se), 8.884.224 Bytes frei
Wenn Du von diesen Zeilen nur die haben willst, die den String ".txt" enthalten und davon nur die Spalten 1,2 und 4:
$cmd$ for /f "tokens=1,2,4" %i in ('dir *.txt^|find /i ".txt"') do @echo %i %j %k
04.04.2000 23:19 putinenv.txt
oder im Batch (mit Schreiben in eine *.csv-Datei mit Semikoli als Delimeter):
for /f "tokens=1,2,4" %%i in ('dir *.txt^|find /i ".txt"') do @echo %%i;%%j;%%k>>NewFiles.csv
HTH Biber
ich bin nicht ganz sicher, ob Du tatsächlich das "Concurrent Versions System" CVS mit diesen Infos füttern willst oder doch nur "Comma Separated Value"-Textdateien erzeugen willst.. ich gehe mal von den (Excel-tauglichen) *.csv-Dateien aus.
In letzterem Fall hast Du viele Möglichkeiten, je nachdem welche Datei-Infos Du für erhaltenswert hältst.
Wenn Du nur den nackten Pfad- und Dateinamen brauchst, bekommst Du den mit "dir /b *.zip" geliefert.
Wenn Du zusätzliche Infos wie Datum/Uhrzeit brauchst (aber nicht die Größe beispielsweise), dann kannst Du die Ausgabe des normalen DIR-Befehls spaltenweise mit dem FOR /F..IN..DO..auswerten.
Beispiel am CMD-Prompt:
$cmd$ dir *.txt
Datenträger in Laufwerk Z: ist GARBAGE5
Datenträgernummer: 7FFF-FFFF
Verzeichnis von Z:\
04.04.2000 23:19 4.069 putinenv.txt
1 Datei(en) 4.069 Bytes
0 Verzeichnis(se), 8.884.224 Bytes frei
Wenn Du von diesen Zeilen nur die haben willst, die den String ".txt" enthalten und davon nur die Spalten 1,2 und 4:
$cmd$ for /f "tokens=1,2,4" %i in ('dir *.txt^|find /i ".txt"') do @echo %i %j %k
04.04.2000 23:19 putinenv.txt
oder im Batch (mit Schreiben in eine *.csv-Datei mit Semikoli als Delimeter):
for /f "tokens=1,2,4" %%i in ('dir *.txt^|find /i ".txt"') do @echo %%i;%%j;%%k>>NewFiles.csv
HTH Biber