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

Verzeichnisinhalt ausgeben per Batch (2 dir- Abfragen)

Frage Entwicklung Batch & Shell

Mitglied: efde

efde (Level 1) - Jetzt verbinden

08.08.2005, aktualisiert 15:58 Uhr, 17631 Aufrufe, 3 Kommentare

Hallo zusammen,
ich habe ein Problem bei einer Batchabfrage, unzwar möchte ich mit dem Befehl

dir | find /i "07.2005"

alle Dateien eines Ordners auflisten die im Juli 2005 erstellt wurden,
soweit sogut nun möchte ich diese herausgefilterten Dateien am besten mit dem befehl dir /b also quasi ohne datum in einem log Datei schreiben (z.b. >juli.log).

Doch ich weiss nicht wie ich die zuvor mit dem dir Befehl sortierten Dateien, jetzt mit dem dir /b Befehl in eine Datei ausgeben kann?

Bei dem Befehl:

dir / B | find /i "07.2005" >juli.log

werden nicht nur die Dateien vom Juli aufgelistet!

Wcihtig ist halt, das alle im Juli erstellten Dateien in dieser Logdatei nur mit dem Namen auftauchen.


Ich habe keine Ahnung wie ich das lösen könnte, habe bereits die Suchfunktion "gequält", aber nichts passendes gefunden.

Kann mir wer helfen.

Mit freundlichen Grüßen Heiner
Mitglied: Biber
08.08.2005 um 01:09 Uhr
Moin, Heiner,
das Gerüst wäre:
01.
for /F "tokens=4" %a in ('dir ^|find /V "&ltDIR&gt"^|find "07.2005"') do echo %a >>Juli2005.log    
... vom CMD-Prompt aus,
aber wenn Du Dir das ohnehin nicht jedesmal von einem Zettel abtippen willst, dann mach das in einem Mini-Batch etwas flexibler:
01.
::----LogMirWatt.bat 
02.
@echo off 
03.
set /P monat="Welches Monat (als 01 bis 12 eingeben)? " 
04.
set /p jahr="Welches Jahr (YYYY) ? " 
05.
for /F "tokens=4" %%a in ('dir /A-D ^|find "%Monat%.%jahr%"') do echo %%a >>%jahr%-%monat%.log
:: [edit] Um die Ecke gedacht... die alte Variante ist sooo umständlich nicht nötig
::for /F "tokens=4" %%a in ('dir ^|find /V "&ltDIR&gt"^|find "%Monat%.%jahr%"') do echo %%a >>%jahr%-%monat%.log
::[/edit]
----ende LogMirWatt.bat

Die Logdateien heißen dann "2005-07.log" etc, aber damit kannst Du bestimmt leben.
Habe jetzt Schnickschnack wie alphabetische Sortierung, Unterverzeichnisse abfackeln und Logdatei löschen weggelassen, nimm es als Skizze.
Wenn Du alle Dateien eines Laufwerks aus dem (z.B.) Juli auflisten willst, würde ich aber den XCopy-Befehl missbrauchen.

Frank /der Biber aus Bremen
Bitte warten ..
Mitglied: efde
08.08.2005 um 11:30 Uhr
Vielen Dank schon mal.

Aber irgendwie erzielt die Batch nicht die gewünschte Wirkung, denn bei mir werden vor dem eigentlichen Dateinamen, die im Juli erstellt wurden immernoch das Erstellungsdatum ausgegeben!
Bitte warten ..
Mitglied: Biber
08.08.2005 um 15:58 Uhr
Moin efde,
dein "DIR"-Aufruf bringt eine andere Spalten-Reihenfolge, vermute ich.
Dann musst Du wahrscheinlich an dem FOR-Parameter "Tokens=n" rumspielen.
Bei mir sieht die entsprechende 2005-08.log so aus:
D:\temp>type 2005-08.log
2pbat.bat
Logmirwatt.bat

Works as designed.
Biber
[edit]
Dann teste doch erst mal die schmucklose Rohfassung vom CMD-Prompt aus
01.
for /F "tokens=3-5" %a in ('dir ') do echo %a %b %c
bis Du weißt, welche Spalte die für Dich brauchbare ist.
[/edit]
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...