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
GELÖST

Datei Liste von Ordner mit Änderungsdatum

Frage Entwicklung Batch & Shell

Mitglied: MTB4ever

MTB4ever (Level 1) - Jetzt verbinden

16.10.2007, aktualisiert 22.10.2007, 12039 Aufrufe, 10 Kommentare

Hallo,

also ich habe folgendes vor.

Ich habe mehrere Ordner mit unterOrdnern liegen aber alle z.B. unter c:\test\. und jetzt möchte ich aus den Ordner + unterOrdner eine Dateiliste haben wo man sieht wann Datei letzte Mal geändert wurde.

Als Beispiel:

benutzer.txt 23.06.2007 12:45
Setup.exe 01.01.2006 15:58

so in etwa!

Am besten wäre da ein Excel Makro das ich liste immer noch Mal bearbeiten kann. Oder gibt es da sogar Extra Programm für was das kann ?

Mit freundlichen Grüßen

MTB
Mitglied: bastla
16.10.2007 um 11:47 Uhr
Hallo MTB4ever!

Auf die Schnelle könntest Du dafür direkt an der Kommandozeile eingeben:
01.
for /f "delims=" %i in ('dir C:\test /s /b /a-d') do @echo %i;%~ti > C:\Liste.txt
Damit wird der Dateiname samt Pfad (was ich bei Unterordnern sinnvoll finde) und Datum und Uhrzeit in die Datei C:\Liste.txt geschrieben. Diese kannst Du dann einfach in Excel importieren.

Falls Du tatsächlich nur den Dateinamen haben wolltest, würde die Zeile so lauten:
01.
for /f "delims=" %i in ('dir C:\test /s /b /a-d') do @echo %~nxi;%~ti > C:\Liste.txt
Grüße
bastla

[Edit] "/a-d" ergänzt, um Verzeichnisse auszuschließen [/Edit]
Bitte warten ..
Mitglied: MTB4ever
17.10.2007 um 11:13 Uhr
bei den befehl macht er leider nur eine datei
Bitte warten ..
Mitglied: bastla
17.10.2007 um 11:43 Uhr
Hallo MTB4ever!

Da ist leider ein">" auf der Strecke geblieben ...

Richtig heißt es:
01.
for /f "delims=" %i in ('dir C:\test /s /b /a-d') do @echo %i;%~ti >> C:\Liste.txt
Grüße
bastla
Bitte warten ..
Mitglied: MTB4ever
19.10.2007 um 11:35 Uhr
Hallo bastla,

jo so funktioniert es!

noch eine andere Frage:

ist es möglich, dass in eine Batch Datei so einzubauen, dass wenn man Batch Datei startet wie so ein Popup (falls nicht anders möglich auch cmd Zeile zum eingeben) aufgeht wo man
1. Pfad eingibt von welchen Verzeichnis Liste erstellt werden soll (z.B. c:\Programme\Microsoft\)
2. Pfad wo es Liste speichern soll und unter welchen Namen (z.B. "C:\Dokumente und Einstellungen\User\Desktop\Inhaltsverzeichnis.txt").

Wenn dies möglich wäre wer es perfekt!

PS:

Habe einige Ordner die ich ausschließen möchte is das möglich ? bzw die ordner die ich in der Liste haben will haben alle gleich anfangsnamen bei den ordner: z.B. Ordner test1help, Ordner test2config

Mit freundlichen Grüßen

MTB
Bitte warten ..
Mitglied: Biber
19.10.2007 um 15:51 Uhr
Moin MTB4ever,

du kannst diese Benutzerinteraktion auch in einen Batch einbauen - allerdings nicht ohne Hilfstools als Popupfenster.
Das Verzeichnisse-Ausschließen ist auch machbar...
...bei beiden Anforderungen wäre für mich die Frage, wie komfortabel das denn werden soll oder muss.

Ich würde diese Variante zwar wahrscheinlich auch weiterhin als eine CMD-Zeile direkt abfeuern, aber stelle es hier mal als formatierten Batch hin:

01.
@echo off & setlocal 
02.
Set /P "StartDir=Bitte Startverzeichnis eingeben: " 
03.
Set /P "Log=Bitte LogDatei (ggf. mit Pfad): " 
04.
Set /P "exclude=Ausschliessen [Anfang des Ordnernamens]: " 
05.
If [%exclude%]==[] set "exclude=#####" 
06.
for /f "delims=" %%i in ('dir "%StartDir%" /s /b /a-d^|find /v /i "\%exclude%"') do @echo %%i;%%~ti >>%log%
Gruß
Biber
[Edit] 22.10. Tippfehler (fehlendes abschliessendes Anführungszeichen) berichtigt.
Siehe Post von MTB4ever unten.
[/Edit]
Bitte warten ..
Mitglied: bastla
19.10.2007 um 18:09 Uhr
@Biber
Fällt VBS unter Hilfstool?

@MTV4ever
Eine Variante unter Verwendung von temporärem VBS könnte schematisch etwa so aussehen (wobei die Funktionsfähigkeit der Dateiauswahl vom verwendeten Betriebssystem [>= XP] abhängt):
01.
@echo off & setlocal 
02.
set "Verz=%temp%\VerzeichnisHolen.vbs" 
03.
echo Set V=CreateObject("Shell.Application").BrowseForFolder(0, "Verzeichnis wählen", 16, 17)>"%Verz%" 
04.
echo If Not TypeName(V)="Nothing" Then Set B=V.Self: WScript.Echo B.Path>>"%Verz%" 
05.
set Quelle= 
06.
for /f "delims=" %%i in ('cscript //nologo "%Verz%"') do set "Quelle=%%i" 
07.
if not defined Quelle goto :eof 
08.
 
09.
set "Datei=%temp%\DateiHolen.vbs" 
10.
echo Set objDialog=CreateObject("UserAccounts.CommonDialog"):objDialog.Filter="Alle (*.*)": objDialog.InitialDir="C:\">"%Datei%" 
11.
echo objDialog.Flags=^&H800+^&H4+^&H8:intResult=objDialog.ShowOpen:WScript.Echo objDialog.FileName>>"%Datei%" 
12.
set Ziel= 
13.
for /f "delims=" %%i in ('cscript //nologo "%Datei%"') do set "Ziel=%%i" 
14.
if not defined Ziel goto :eof 
15.
 
16.
for /f "delims=" %i in ('dir "%Quelle%" /s /b /a-d') do @echo %i;%~ti >>"%Ziel%" 
17.
 
18.
del "%Verz%" & del "%Datei%"
Schön finde ich das allerdings nicht, und die noch fehlende "Exclude"-/"Include"-Maskeneingabe sollte konsequenter Weise auch per Popup erfolgen, sodass dann tatsächlich daran zu denken wäre, das Ganze durchgängig über VB(A/S) abzuwickeln ...

Trotzdem noch eine Anmerkung zur Dateiauswahl: Den gewünschten Dateinamen musst Du (falls nicht eine vorhandene Datei überschrieben werden soll) natürlich in das entsprechende Feld selbst eintragen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
19.10.2007 um 18:33 Uhr
Moin bastla,

seh ich genauso wie Du.... das mag fliegen, aber sieht absolut hässlich aus.
Dann lieber, wenn denn wirklich diese Startordner/LogDateiname/Exclude-Geschichte als Parameter abgefragt werden muss, EIN VBx-Skriptchen aus einem Guss und viel Bunt und jedes Detail darf man/frau ändern.
Dann hast Du in zwei Jahren eine selbstgeschriebene "MBTBackup 4.0 Ultra"- Applikation, die im *.msi-Format auf Heft-DVDs mit beigelegt wird.

Oder du sagst: Hey, ich will doch nur jeden Freitagabend mal mein Zeugs sichern vor der Tagesschau - dann läuft es auf die drei oder vier schmucklosen Batchzeilen raus.

Aber dieses Nicht-Fisch-Nicht-Fleisch-Skript dort oben....gefällt mir auch nicht.

Grüße
Biber
Bitte warten ..
Mitglied: MTB4ever
22.10.2007 um 08:21 Uhr
Hallo,

also deine Batch datei ohne zusatz tool gefällt mir ganz gut:

ich gebe es so ein:

E:\>"Neu Textdokument.bat"
Bitte Startverzeichnis eingeben: E:\temp
Bitte LogDatei (ggf. mit Pfad): e:\test.txt
Ausschliessen [Anfang des Ordnernamens]: SQL2005

E:\>

aber er erstellt leider keine liste!

wodran liegt das habe es einfach so in die bat datei gepackt:

@echo off & setlocal
Set /P "StartDir=Bitte Startverzeichnis eingeben: "
Set /P "Log=Bitte LogDatei (ggf. mit Pfad): "
Set /P "exclude=Ausschliessen [Anfang des Ordnernamens]: "
If [%exclude%]==[] set "exclude="
for /f "delims=" %%i in ('dir "%StartDir% /s /b /a-d^|find /v /i "\%exclude%"') do @echo %%i;%%~ti >>%log%

Mit freundlichen Grüßen

MTB
Bitte warten ..
Mitglied: Biber
22.10.2007 um 09:36 Uhr
Moin MTB4ever,

okay, die Vorteile einer Handvoll Batch-Zeilen sind ja:
Die Anzahl der fehlerhaften Zeilen ist endlich. Und einzeln testbar.

Wird es denn besser, wenn Du nach %StartDir% in der FOR-Anweisung noch ein Anführungszeichen einfügst?
Da hab ich nämlich eins vergessen... *schäm*

Ich passe es oben in meinem Schnipsel an.

Sorry
Biber
Bitte warten ..
Mitglied: MTB4ever
22.10.2007 um 10:53 Uhr
Hallo Biber,

ja danke so funktioniert es einwandfrei!

Mit freundlichen Grüßen MTB
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch - Datei aus Ordner einlesen mit Ausnahmen! (4)

Frage von Daedrafaction zum Thema Batch & Shell ...

Batch & Shell
gelöst Datei in Ordner mit Batchdatei suchen und weiterverarbeiten (2)

Frage von MichaelWiggen zum Thema Batch & Shell ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...