heinertown
Goto Top

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

Content-Key: 65662

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

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

Member: Biber
Biber Aug 07, 2007 at 17:03:52 (UTC)
Goto Top
Moin Heinertown,

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
[GGf. mit ">>logfile.txt" nach den beiden "echo .."-Befehlen

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
{Aufruf dann mit "myDir c:\test\*.txt [>logFile.txt]" }

Gruß
Biber
Member: HeinerTown
HeinerTown Aug 08, 2007 at 14:06:43 (UTC)
Goto Top
Also alles in der Batch dann:

:: ----- MyDir.bat Als Batch mit einem Parameter %1 für Pfad/Wildcards
set "i=c:\test\*.txt [>logFile.txt]"
@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

richtig ???
Member: Biber
Biber Aug 08, 2007 at 15:25:55 (UTC)
Goto Top
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"
>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
Member: HeinerTown
HeinerTown Oct 02, 2007 at 10:18:12 (UTC)
Goto Top
Klasse!!! Vielen dank der Thread kann geschlossen werden face-smile .