Per Batch inhalte eines Ordners in eine Log-Datei ausgeben
Alle Dateien eines Ordners in einem definierten Format ausgeben
Hi,
ich habe folgendes Problem:
Ich habe im Ordner D:liste mal 2 mal 4 Dateien. Ich möchte dies per Batch in eine log schreiben. wie dir /b sozusagen. nur mit dem format habe ich so mein Problem.
Beispiel 3 Dateien im Ordner, dann sollte die Liste der log.txt so aussehen:
%date% %time% 3 Dateien gefunden
%date% %time% config.xml
%date% %time% logon.xml
%date% %time% objects.xml
Beispiel 6 Dateien im Ordner, dann sollte die Liste der log.txt so aussehen:
%date% %time% 5 Dateien gefunden
%date% %time% config.xml
%date% %time% logon.xml
%date% %time% daten.txt
%date% %time% zahlen.dat
%date% %time% objects.xml
Vorab danke für jede Art von Unterstützung ;) .
Gruß
Heiner
Hi,
ich habe folgendes Problem:
Ich habe im Ordner D:liste mal 2 mal 4 Dateien. Ich möchte dies per Batch in eine log schreiben. wie dir /b sozusagen. nur mit dem format habe ich so mein Problem.
Beispiel 3 Dateien im Ordner, dann sollte die Liste der log.txt so aussehen:
%date% %time% 3 Dateien gefunden
%date% %time% config.xml
%date% %time% logon.xml
%date% %time% objects.xml
Beispiel 6 Dateien im Ordner, dann sollte die Liste der log.txt so aussehen:
%date% %time% 5 Dateien gefunden
%date% %time% config.xml
%date% %time% logon.xml
%date% %time% daten.txt
%date% %time% zahlen.dat
%date% %time% objects.xml
Vorab danke für jede Art von Unterstützung ;) .
Gruß
Heiner
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 65662
Url: https://administrator.de/contentid/65662
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Heinertown,
vom CMD-Prompt aus als Oneliner:
[GGf. mit ">>logfile.txt" nach den beiden "echo .."-Befehlen
Als Batch jeweils bei den Zählvariablen %i, %j das Prozentzeichen verdoppeln.
{Aufruf dann mit "myDir c:\test\*.txt [>logFile.txt]" }
Gruß
Biber
vom CMD-Prompt aus als Oneliner:
(=18:58:56 D:\temp=)
>(for /f "tokens=1,* delims= " %i in ('dir /b /a:-d *.xyz^|find /n /v "ßßß."') do @echo %~tj %j &Set x=%i) & @echo %x% Dateien gefunden
19.02.2007 19:05 testÄ.xyz
19.02.2007 19:06 testö mit Leerzeichen.xyz
19.02.2007 19:05 testö.xyz
19.02.2007 19:05 testü.xyz
19.02.2007 19:05 testß.xyz
5 Dateien gefunden
Als Batch jeweils bei den Zählvariablen %i, %j das Prozentzeichen verdoppeln.
:: ----- MyDir.bat Als Batch mit einem Parameter %1 für Pfad/Wildcards
@echo off & setlocal
for /f "tokens=1,* delims=[] " %%i in ('dir /b /a:-d "%~1"^|find /n /v "ßßß."') do (
echo %%~tj %%j
Set x=%%i)
)
echo %x% Dateien gefunden
Gruß
Biber
Moin HeinerTown,
sorry, wenn ich Dich verwirrt habe.
Nein, nicht ganz richtig ...
die Batchdatei genau so, wie sie in dem Code-Kästchen oben zu sehen ist.
Markieren, Copy & Paste in einen Texteditor, speichern dort, wo Du wiederfindest als "myDir.bat"
Dann am Cmd-Prompt ein bisschen damit spielen:
- ohne Parameter (alle Dateien im aktuellen Verzeichnis
- mit Parameter "Laufwerlk+Pfad", alle Dateien
- mit mit Parameter "Laufwerlk+Pfad-Wildcards"
Gruß
Biber
sorry, wenn ich Dich verwirrt habe.
Nein, nicht ganz richtig ...
die Batchdatei genau so, wie sie in dem Code-Kästchen oben zu sehen ist.
Markieren, Copy & Paste in einen Texteditor, speichern dort, wo Du wiederfindest als "myDir.bat"
Dann am Cmd-Prompt ein bisschen damit spielen:
- ohne Parameter (alle Dateien im aktuellen Verzeichnis
- mit Parameter "Laufwerlk+Pfad", alle Dateien
- mit mit Parameter "Laufwerlk+Pfad-Wildcards"
>mydir
05.10.2004 14:00 #netlogon.reg
16.11.2006 19:08 106071_PSB_2006.xls
16.11.2006 19:09 106074_PSB_2006.xls
23.11.2006 22:17 A.txt
02.04.2007 18:21 aaaa-bbb-ccc-1.tst
....
04.04.2007 19:05 xx.m3u
02.08.2007 16:17 xyz.txt
08.03.2007 23:02 üüü.txt
206 Dateien gefunden
(=17:11:48 D:\temp=)
>mydir e:\dtemp
24.10.2006 08:10 heysguy.exe
20.03.2006 17:00 sp4rk_i386.Exe
09.02.2007 17:14 SPSC_inst2_etup.exe
3 Dateien gefunden
(=17:12:28 D:\temp=)
>mydir e:\dtemp\sp*.*
20.03.2006 17:00 sp4rk_i386.Exe
09.02.2007 17:14 SPSC_inst2_etup.exe
2 Dateien gefunden
Gruß
Biber