Dateien Per Batch auslesen
#16
geschrieben 12. März 2022 - 23:12
wenn in der zusammengesetzen Ordnerstruktur der Backslash gegen den normalen Slash ('\\docfile/foto\\') getauscht wird, funktioniert es bei mir.
Gruß
hla
Anzeige
#17
geschrieben 14. März 2022 - 14:54
Was ist das für eineSyntax?
Vor allem aber würd mich interessieren, was da sonst hinter wmic & forfiles steckt.
Dieser Beitrag wurde von joe13 bearbeitet: 14. März 2022 - 17:17
#18
geschrieben 15. März 2022 - 00:45
das forfiles ist so ein angestaubtes relikt aus windows 98 zeiten.
wmic hat inzw. auch schon staub angesetzt - seit xp dabei und wohl in den neuesten win10/11 dev. builds durch powershell ersetzt, ist aber eines der maechtigsten tools die windows so mitliefert. damit greifst du auf die windows management instrumentation (wmi) zu und kannst somit u.a. auf recht unkomplizierte weise nahezu alle infos auslesen die man so vom windows-rechenknecht bekommen kann - die syntax erscheint manchmal etwas verquert, aber lohnt sich auf jeden fall sich da mal ein wenig einzulesen - respektive die wmi-powershell befehle :-)
#19
geschrieben 15. März 2022 - 15:21
#20
geschrieben 16. März 2022 - 08:43
Zitat (CaNNoN: 15. März 2022 - 00:45)
das forfiles ist so ein angestaubtes relikt aus windows 98 zeiten.
wmic hat inzw. auch schon staub angesetzt - seit xp dabei und wohl in den neuesten win10/11 dev. builds durch powershell ersetzt, ist aber eines der maechtigsten tools die windows so mitliefert. damit greifst du auf die windows management instrumentation (wmi) zu und kannst somit u.a. auf recht unkomplizierte weise nahezu alle infos auslesen die man so vom windows-rechenknecht bekommen kann - die syntax erscheint manchmal etwas verquert, aber lohnt sich auf jeden fall sich da mal ein wenig einzulesen - respektive die wmi-powershell befehle :-)
Hey CaNNoN, hattest du schon Zeit einmal noch zuschauen wegen meiner Frage?
Dein Script funktioniert tadellos, jedoch würde ich gerne noch ein Echo einbauen.
z.B
Mit deinem Befehl bekomme ich -> 2 Werte zurück
Dafür würde ich dann gern ein ERROR bekommen.
Hast du da noch eine Idee?
#21
geschrieben 16. März 2022 - 13:28
@echo off wmic datafile where "drive='e:' AND path='\\Profile\\' AND extension='vhdx' AND filesize>'10737418240'" get caption, filesize | find /v "" > tmp.txt findstr /m "Caption" tmp.txt >Nul if %errorlevel%==0 echo ERROR: Folgende Dateien sind groesser als 10GB: && type tmp.txt if %errorlevel%==1 echo INFO: alle Dateien kleiner als 10GB!
erst muessen wir den output von wmic pipen, ansonsten wird die txt datei nicht in UTF-8 gespeichert, da wmic per default UCS-2 LE BOM verwendet und findstr sonst nicht funktioniert - dann schauen wir mit findstr ob sich "Caption" in der txt datei befindet und je nachdem wird dann ein echo bzw. die tmp.txt ausgegeben.
Dieser Beitrag wurde von CaNNoN bearbeitet: 16. März 2022 - 13:29
#22
geschrieben 17. März 2022 - 07:33
Zitat (CaNNoN: 16. März 2022 - 13:28)
@echo off wmic datafile where "drive='e:' AND path='\\Profile\\' AND extension='vhdx' AND filesize>'10737418240'" get caption, filesize | find /v "" > tmp.txt findstr /m "Caption" tmp.txt >Nul if %errorlevel%==0 echo ERROR: Folgende Dateien sind groesser als 10GB: && type tmp.txt if %errorlevel%==1 echo INFO: alle Dateien kleiner als 10GB!
erst muessen wir den output von wmic pipen, ansonsten wird die txt datei nicht in UTF-8 gespeichert, da wmic per default UCS-2 LE BOM verwendet und findstr sonst nicht funktioniert - dann schauen wir mit findstr ob sich "Caption" in der txt datei befindet und je nachdem wird dann ein echo bzw. die tmp.txt ausgegeben.
JAP genau so ist es perfekt, ich danke dir vielmals
Das ist genau was ich suche!
Der Beitrag kann geschlossen werden
#23
geschrieben 24. März 2022 - 11:12
Zitat (CaNNoN: 16. März 2022 - 13:28)
@echo off wmic datafile where "drive='e:' AND path='\\Profile\\' AND extension='vhdx' AND filesize>'10737418240'" get caption, filesize | find /v "" > tmp.txt findstr /m "Caption" tmp.txt >Nul if %errorlevel%==0 echo ERROR: Folgende Dateien sind groesser als 10GB: && type tmp.txt if %errorlevel%==1 echo INFO: alle Dateien kleiner als 10GB!
erst muessen wir den output von wmic pipen, ansonsten wird die txt datei nicht in UTF-8 gespeichert, da wmic per default UCS-2 LE BOM verwendet und findstr sonst nicht funktioniert - dann schauen wir mit findstr ob sich "Caption" in der txt datei befindet und je nachdem wird dann ein echo bzw. die tmp.txt ausgegeben.
Hey CaNNoN,
leider brauche ich doch noch einmal deine Hilfe.
ICh würde das gerne vom einem anderem Server aus machen
Server 1 => E\Profile => IP: 1.2.3.4
Server 2 => WO DAS SCRIPT LAUFEN SOLL => IP: 1.2.3.3
Kannst du mir da villeicht noch einmal zurhand gehen?
#24
geschrieben 24. März 2022 - 13:30
wmic /NODE:1.2.3.4 datafile where "drive='x:' AND path='\\Profile\\' AND extension='vhdx' AND filesize>'10737418240'" get caption, filesize | find /v "" > tmp.txt
achtung:
auf 1.2.3.4 muss die "windows management instrumentation" (en) bzw. "windows-verwaltungsinstrumentation (WMI)" (de) in der firewall freigegeben sein.
siehe: https://www.windowsp...gurieren-testen
und "drive" sowie "path" muss auf das laufwerk und den pfad vom remote-system (1.2.3.4) abgeaendert werden.
mit UNC pfadangaben (\\1.2.3.4) hab ich das bisher nicht zum laufen bekommen, netzlaufwerke wird auch eher schwierig, weil die fuer gewoehnlich in einem anderen kontext laufen.
#25
geschrieben 02. August 2022 - 13:31
kannst du mir noch einmal helfen?
Wenn ich das ganze via. Batch laufen lasse, bekomme ich immer ein => Keine Instanzen verfügbar. Ausgegeben
Das mit dem Errorlevel funktioniert da leider nicht
Ich habe einen Testlauf gemacht
Wenn Daten über 10G => Echo Errorlevel
Wenn Daten unter 10G => Echo Errorlevel
Er gibt bei beiden immer den Wert 0 aus, obwohl ich die Dateigröße in der Batch verändert habe.
Kannst du mir da noch einmal helfen?
#26
geschrieben 04. August 2022 - 06:11
Zitat (CaNNoN: 24. März 2022 - 13:30)
wmic /NODE:1.2.3.4 datafile where "drive='x:' AND path='\\Profile\\' AND extension='vhdx' AND filesize>'10737418240'" get caption, filesize | find /v "" > tmp.txt
achtung:
auf 1.2.3.4 muss die "windows management instrumentation" (en) bzw. "windows-verwaltungsinstrumentation (WMI)" (de) in der firewall freigegeben sein.
siehe: https://www.windowsp...gurieren-testen
und "drive" sowie "path" muss auf das laufwerk und den pfad vom remote-system (1.2.3.4) abgeaendert werden.
mit UNC pfadangaben (\\1.2.3.4) hab ich das bisher nicht zum laufen bekommen, netzlaufwerke wird auch eher schwierig, weil die fuer gewoehnlich in einem anderen kontext laufen.
Hey Cannon,
kannst du mir noch einmal helfen?
Wenn ich das ganze via. Batch laufen lasse, bekomme ich immer ein => Keine Instanzen verfügbar. Ausgegeben
Das mit dem Errorlevel funktioniert da leider nicht
Ich habe einen Testlauf gemacht
Wenn Daten über 10G => Echo Errorlevel
Wenn Daten unter 10G => Echo Errorlevel
Er gibt bei beiden immer den Wert 0 aus, obwohl ich die Dateigröße in der Batch verändert habe.
Kannst du mir da noch einmal helfen?
#27
geschrieben 11. August 2022 - 12:43
#28
geschrieben 15. August 2022 - 06:50
Zitat (CaNNoN: 11. August 2022 - 12:43)
Ich habe die Batch einfach komplett ausgeführt (auf dem Remote Rechner)
Wenn ich es direkt in die CMD knalle, findet er direkt alles.
Aber wenn ich daraus eine Batch mache, gibt er mir das Errorlevel nicht aus
#30
geschrieben 17. August 2022 - 07:04
Zitat (CaNNoN: 16. August 2022 - 13:09)
Das habe ich natürlich direkt ausprobiert
C:\>Test_neu_28072022.bat
FileSize
10741612544
10741612544
%errorlevel%
C:\>Test_neu_28072022.bat
Keine Instanzen verfügbar.
%errorlevel%
C:\>
Ich habe einfach die Zahl verändert
Anbei meine Batch
@echo off
wmic /user:XXXXXX\Administrator /password:XXXXXXXX /NODE:192.168.XXX.XXX datafile where "drive='d:' AND path='\\Profile\\' AND filesize>'107374182400'" get "filesize"
rem | find /v "" > tmp.txt
echo %%errorlevel%%
rem if %errorlevel%==0 echo ERROR: Folgende Dateien sind groesser als 10GB: && type tmp.txt
rem if %errorlevel%==1 echo INFO: alle Dateien kleiner als 10GB!
- ← Edge lässt sich nicht starten
- System & Software - Windows 10
- Fast Stone Image Viewer 7.7. zeigt keine mp4-Vorschau an →