Top-Themen

Aktuelle Themen (A bis Z)

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 Mit Batch Datei gezielt, bestimmte Dateigrößen auslesen und in Datei speichern evt. Zugriff auf Exel?

Mitglied: kruder77

kruder77 (Level 1) - Jetzt verbinden

12.09.2007, aktualisiert 21:24 Uhr, 14021 Aufrufe, 7 Kommentare

Hallo,

wie kann man in einer Batch-Datei gezielt Dateigrößen auslesen? Die Dateien befinden sich in den gleichen Ordner wie die Batch-Datei. Jedoch sind noch andere Dateien vorhanden, welche mich nicht interessieren. Die Daten möchte ich dann gerne z.B. in >>log.txt speichern.
Mir ist nicht ganz klar, wie ich die Dateien ansprechen kann - habe ich halt noch nicht gemacht. (Bin ein Batch-Anfänger)

Ist es zudem möglich dann auf diese angelegte log.txt Datei per Batch zuzugreifen und bestimmte Informationen von dort in eine Exel-Tabelle an eine bestimmte Zeile zu transferieren?


Vielen Dank fürs Helfen
kruder
Mitglied: bastla
12.09.2007 um 12:02 Uhr
Hallo kruder77 und willkommen im Forum!

Da Du etwas wenig konkret in Deinen Angaben bist, ein entsprechend allgemeines Beispiel: Um alle .jpg-Dateien des aktuellen Verzeichnisses mit einer Dateigröße ab 80 kB in eine Liste (Textdatei) auszugeben, könntest Du folgende Batchdatei verwenden:
01.
@echo off & setlocal 
02.
set "List=D:\Log.txt" 
03.
set "Size=80000" 
04.
 
05.
if exist "%List%" del "%List%" 
06.
for %%i in (*.jpg) do if %%~zi geq %Size% echo %%i>>"%List%"
Siehe zum Vergleichsoperator "geq" die Hilfe zu "if".

Ist es zudem möglich dann auf diese angelegte log.txt Datei per Batch zuzugreifen und bestimmte Informationen von dort in eine Exel-Tabelle an eine bestimmte Zeile zu transferieren?
Diese Frage solltest Du (mit konkreten Angaben/Beispielen zu den gewünschten Daten) in einem neuen Beitrag stellen.

Grüße
bastla
Bitte warten ..
Mitglied: kruder77
12.09.2007 um 12:53 Uhr
Hallo,

vielen Dank für die Schnelle Antwort. Das Beispiel mit den *.JPG ist schon ganz schön.
Ich wollte mir jedoch eigentlich die Dateigröße in die Datei schreiben lassen. Vielleicht,
kann man das ja noch hinten mit drann hängen?

@echo off & setlocal /* muss dass setlocal immer dort stehen, wenn ich später set verwende?*/
set "List=D:\Log.txt"
set "Size=80000"

if exist "%List%" del "%List%"
for %%i in (*.jpg) do if %%~zi geq %Size% echo %%i>>"%List%"

was bedeuten/bewirken, in der Zeile mit der for-Schleife, die folgenden Ausdrücke?

1) %%i in (*jpg)
2)%%~zi geq %Size% echo %%i

Vielen Dank
Kruder
Bitte warten ..
Mitglied: kruder77
12.09.2007 um 14:36 Uhr
Besten Dank nochmal.... habe es hinbekommen

@echo off & setlocal

set "List=C:\HDPhoto\Systems\tools\VC8Projects\Debug\WMPEncApp\Baseline\1\Log.txt"
set "Size=800"

if exist "%List%" del "%List%"
for %%i in (*.jpg) do echo %%~ni >>"%LIST%"echo %%~zi >>"%List%"

grüße
kruder
Bitte warten ..
Mitglied: bastla
12.09.2007 um 14:54 Uhr
Hallo kruder77!

Ich wollte mir jedoch eigentlich die Dateigröße in die Datei schreiben lassen. Vielleicht kann man das ja noch hinten mit drann hängen?
Etwa so?
01.
for %%i in (*.jpg) do if %%~zi geq %Size% echo %%i;%%~zi>>"%List%"
@echo off & setlocal /* muss dass setlocal immer dort stehen, wenn ich später set verwende?*/
Es sorgt dafür, dass die mit "set" zugewiesenen Variablen als "local" deklariert werden, also nur innerhalb dieses Batches gelten.

%%i in (*.jpg)
Siehe "for /?"; Schleife, um Zugriff auf alle .jpg-Dateien (des aktuellen Verzeichnisses, da kein Pfad angegeben) unter dem Variablennamen %%i zu erhalten.

%%~zi geq %Size% echo %%i
%%~zi liefert die Dateigröße (in Byte) der Datei, auf die %%i aktuell verweist
geq "greater or equal" (BTW: Hatte ich erwähnt, dass diese Info in der Onlinehilfe zu "if" - also mit "if /?" - zu finden ist?)
%Size% ist der vorher zugewiesene Schwellen- / Vergleichswert
echo %%i" gibt den Namen der Datei, auf welche %%i eben verweist, aus - daher:

Gib den Namen der Datei aus, wenn deren Dateigröße >= dem in %Size% gespeicherten Wert ist.

Grüße
bastla
Bitte warten ..
Mitglied: kruder77
12.09.2007 um 18:38 Uhr
Hallo bastla,

vielen Dank für die Infos, die hilfe hatte ich dann im cmd-window auch gefunden.
Wenn es ein setlocal gibt, wird es bestimmt auch ein setglobal geben, gell?

Und wie funktioniert es jetzt, dass ich eine Datei auslesen und dann in teilweise
in Exel schreiben kann?

Grüße
kruder
Bitte warten ..
Mitglied: bastla
12.09.2007 um 19:40 Uhr
Hallo kruder77!

Wenn es ein setlocal gibt, wird es bestimmt auch ein setglobal geben, gell?
Nicht explizit - grundsätzlich sind die Variablen einer CMD-Session, solange sie nicht zwischen "setlocal" und "endlocal" stehen, "global".

Und wie funktioniert es jetzt, dass ich eine Datei auslesen und dann in teilweise in Exel schreiben kann?
Ich antworte mal analog Deiner Fragestellung:
Jetzt funktioniert es noch gar nicht, und später (dann, wenn Du in einem neuen Beitrag Deine Absichten entsprechend konkretisiert haben wirst) mit VBScript ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
12.09.2007 um 21:24 Uhr
Moin kruder77,

auch ich bitte Dich, an dieser Stelle diesen Beitrag hier als "beantwortet" mit einem grünen Haken zu versehen - die Dateinamen und Größen bekommst Du mit bastlas Ansatz in eine Textdatei.

Der zweite Schritt .... hmm, das sollten wir in einem separaten Beitrag diskutieren, vor allem, weil das eher ein Strategie-Problem und weniger ein handwerkliches Problem ist.

Denn so bereitwillig, wie bastla den von Dir skizzierten Weg auch beschritten und geebnet hat: Jetzt stehen wir hier nach exakt 50% der Aufgabenerfüllung vor der Wand.
Nun geht es eigentlich nicht ohne Stil- und Konzeptbrüche weiter.

  • die Dateinamen und -größen lassen sich ratzfatz per Batch mal eben zusammenschroten

  • mit native Batch in ein Excel-Arbeitsblatt schreiben, geschweige denn in eine bestimmte Zelle, geschweige denn ansprechend formatiert.... --> derartige Versprechungen würde bestenfalls SAP machen. Hier im Forum tut so etwas keiner. Geht nämlich nicht.

  • aber natürlich, wie von bastla geschrieben, lässt sich das mit wenigen VBS/VBA-Klimmzügen alles eintüten.

  • Nur: warum zum Gates solltest Du dann die Liste -zeitlich abgekoppelt und losgelöst von der Excel-Anwendung- per Batch erzeugen wollen? Die Verarbeitung wäre in jedem Fall asynchron; ein später laufendes VBA-Makro müsste "davon ausgehen", dass diese Liste aktuell ist oder auch riskieren, dass Dateien in der Liste (oder Netzwerkpfade) gar nicht gefunden werden...

  • dann wäre es doch allemal sinnvoller, die ganze Ermittlung der Daten und das Schreiben in die Excel-Tabelle gleich in einem Rutsch aus Excel heraus zu machen. Also eine Datenermittlung aus Excel heraus per Button "Aktualisieren" zu starten und nicht von außen in ein wehrloses Tabellenblatt irgendwelche Daten reinzudrücken und hinterher nachzuschauen, wie es wohl angekommen ist.

Deshalb mein Vorschlag: mach bitte nochmal einen neuen Beitrag auf :"Aus Excel heraus per Makro Dateiinformationen ermitteln und in Tabelle speichern" oder so.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateiname ändern, und auch in Datei ändern. evt mit einem Batch

gelöst Frage von helmuthelmut2000Batch & Shell18 Kommentare

Hallo, Ich möchte folgendes umsetzten: Ich habe ein paar Ordner mit Dateien Die Dateien haben folgende Dateinamen, ABC123456.doc ABC123457.doc ...

Batch & Shell

Dateigröße und Änderungsdatum auslesen

Frage von michi-ffmBatch & Shell6 Kommentare

Hallo zusammen, ich habe folgendes Problem, vielleicht kann mir einer ja weiterhelfen. :) Dieses Skript funktioniert schon einmal wunderbar, ...

Batch & Shell

Datum in Datei speichern und wieder auslesen

gelöst Frage von AndroxinBatch & Shell3 Kommentare

Moinsen, ich spiele gerade ein wenig mit der Powershell und Zeitstempeln rum: Zeitstempel mit Get-Date erstellen, als String in ...

Entwicklung

Powershell: Werte aus Array gezielt auslesen

gelöst Frage von SunnyRainyDayEntwicklung3 Kommentare

Hallo, Stehe ein wenig auf´m Schlauch. Ich möchte aus einem Array nur den Wert eines Feldes auslesen. Also z.b. ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 13 StundenHumor (lol)1 Kommentar

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 15 StundenExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 TagVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...