{title}

Ich möchte das oben Genannte tun. Wenn die Anzahl der Dateien größer ist als von mir angegeben, sende mir eine E-Mail und sage mir, dass die Anzahl der Dateien überschritten wurde. Jeder Rat dazu wäre toll.

Ich glaube nicht, dass MS-DOS E-Mails senden kann. Wenn jemand etwas anderes weiß, sagen Sie es bitte. Ich bin mir zu 90% sicher, dass ich damit Recht habe.

Es gibt wahrscheinlich Programme, die von der Kommandozeile zu E-mail.as aufgerufen werden können, um die Anzahl der Dateien zu zählen. Ich würde mir vorstellen, dass die Ausgabe an FIND gesendet und die letzte Zeile mit "File (s)" gefunden werden muss. msgstr "" "und nimm dann die Nummer davor und vergleiche sie mit dem Wert, auf den du prüfst. Wenn es größer ist, rufen Sie das E-Mail-Sendeprogramm mit den entsprechenden Argumenten auf.

Die Attacke sollte tun, was Sie wollen, sie zählt die Dateien und Ordner in dem Verzeichnis, in dem sich das Programm befindet. Es ist nicht so einfach, wie Sie denken, ich würde es in keinem Buch finden, weil dies wirklich kompliziertes Batch-Zeug ist, das was Sie fragen, wird in.Hoffnung, die Sie mögen, aber da der Code ziemlich schwierig ist, ist die App und exe, Tan_Za

Hier ist meine Version: Das einzige, woran ich denken konnte, war (abgesehen von den nicht durchsuchten Unterverzeichnissen (?)), Dass alle Verzeichnisse in der Dateizählung enthalten waren. Um dies zu beheben, habe ich einen Schalter auf dir verwendet, um auszuschließen directory.Code: @echo offtitle File Counter batch.:recurseset I = 1echo "Dateien im Ordner" cdREM "Alle Dateien anzeigen, AUSSER directory.FOR/f" tokens = "%% P IN ('dir/Ad/b') (Aufruf: showfiles "%% P") echo Filecount:% I% REM ruft jetzt alle Unterordner auf Tan_ZaSET count = 1FOR/f "tokens =" ​​%% G IN ('dir/b') DO (Aufruf: s_do_sums "%% G") Echo Beliebiger von Tan_Za erstellter Schlüssel zum Fortsetzen der Suche. Fragen senden Sie mir eine E-Mail an: pause> nulGOTO: eof: s_do_sumsecho% count%:% 1set/a count + = 1GOTO: eofyour miserable EXE-Komprimierung kann mich nicht davon abhalten! MWA HA HA cough.also, the recurse: label war ein Überbleibsel meines fast erfolgreichen Versuchs, Unterverzeichnisse zu durchlaufen, indem ich anschließend dir/b/ad im Befehl for verwende, um jeden Ordner zu durchlaufen und ihn mit der Batch-Datei zu wiederholen Out Batch-Dateien mögen keine Rekursion.

Ja, Batch-to-Exe ist eine sehr einfache Sache zu tun und umzukehren lol, aber mein Code ist ein wenig komplex für einige Leute, weil es sicher eine Weile gedauert hat zu tun.DAM you.Not wirklich, das ist ok, Tan_Za

Wenn Sie auch alle Dateien in den Unterverzeichnissen zählen möchten (es ist auch kleiner als die anderen beiden), sollte dies funktionieren: Code: @echo offsetlocal enabledelayedexpansionfor/f %% A in ('dir/s ^ | find "File (s ) "') do (setze B = %% A +! B!) setze B =% B% 0set/a C =% B% echo% CpauseexitFB

BC-Programmierer, Sie haben die Batch-Dateien gezählt. Aber dann ist es einfach ausgegangen.

ahh ja, fügen Sie einfach "Pause" direkt vor der Zeile ": showfiles" ein.

Es scheint immer noch nicht zu funktionieren, es wird am Anfang angehalten, bevor die Datei gezählt wird. Ich muss es anhalten, nachdem alle Dateien gezählt wurden.

Legen Sie keine Pause am Ende des Batches ein, sondern in demselben Bereich, in dem Tan_Za die Pause platziert hat, die direkt vor der Subroutine liegt. Außerdem habe ich einen Fehler behoben, bei dem ein vergessenes GOTO: EOF aufgetreten ist, nicht sicher, ob dies der Fall ist Dies hat jedoch Auswirkungen auf das Programm oder nicht.Code: @echo offtitle File Counter batch.:recurseset I = 1echo "Dateien im Ordner" cdREM Alle Dateien anzeigen, AUSGENOMMEN Verzeichnisse.FOR/f "tokens =" ​​%% P IN ('dir/Ad/b ') do (Aufruf: showfiles "%% P") echo Dateizahl:% I% REM ruft jetzt alle Unterordner auf. PAUSEgoto: eof: showfilesecho% 1set/a I + = 1goto: eof

Was ist los mit: dir/b/s/A-d c: temp | find ""/v/n/cSie können blat verwenden ( www.blat.net ), um die E-Mail zu senden

warum, es ist natürlich zu einfach! Leiten Sie das auf eine Variable um, und er wäre gut darin, ein bisschen hinter sich zu lassen, aber aus einem guten Grund von jemandem, der seine Schalter kennt .EDIT: Willkommen in CH!

Hallo zusammen, ich möchte die Anzahl der Dateien aus einem Ordner und nur die Dateien von gestern zählen. Und die Zählung per E-Mail an eine bestimmte E-Mail-Adresse senden. Ich würde dies in einem Taskplaner auf täglich setzen, um eine Zählung zu erhalten und zu sehen, wie viele Dateien zum Ordner hinzugefügt werden. Ich habe versucht, eine Batch-Datei zu erstellen dir/a "C: xx " | find/c/v "" Aber das gibt mir eine Zählung von allem im Ordner, ich brauche nur eine Zählung von gestern und auch ich weiß nicht, wie man eine E-Mail sendet die Zählung. Bitte helfen Sie!

Bitte erstellen Sie Ihren eigenen Thread, anstatt einen aus dem letzten Jahr zu stoßen.

C: test> FORFILES/D 15.05.2010/C "cmd/c echo @file ist neu seit 15.05.2010" "gpl77.bat" ist neu seit 15.05.2010 "newsflow.bat" ist neu seit 15.05.2010 "null" ist neu seit 15.05.2010 "st0510.bat" ist neu seit 15.05.2010 "teststr.txt" ist neu seit 15.05.2010 "tgk.txt" ist neu seit 15.05.2010 "trk.txt" ist neu seit 15.05.2010 "val.bat" ist neu seit 15.05.2010 "zee4.bat" ist neu seit 15.05.2010C: test> FORFILES/D 15.05.2010/C "cmd/c echo @file ist neu seit 15.05.2010" | find/c/v "" 10C: test> C: test> FORFILES/D 15.05.2010/C "cmd/c echo @fname ist neu seit 15.05.2010" | c: bin wc -l 10C: test> FORFILES/D 15.05.2010/C "cmd/c echo @fname ist neu seit 15.05.2010" | find/c/v "" 10C: test> C: test> dir/OD | findstr "15.05.2010 16.05.2010" 15.05.2010 03:57 Uhr 14 trk.txt05/15/2010 04:43 Uhr 129 gpl77.bat05/15/2010 21:26 Uhr 0 val.bat05/15/2010 9:56 PM 138 zee4.bat05/15/2010 9:57 PM 0 null05/15/2010 9:57 PM 150 tgk.txt05/16/2010 04:19 AM 361 st0510.bat05/16/2010 12:54 0 newsflow.bat05/16/2010 12:56 05/16/2010 12:56 .05/16/2010 13:20 92 teststr.txtC: test>

Ich war vielleicht das einzige Kind, das zurückgelassen wurde, aber warum wird die Anzahl 10 gezählt, wenn nur 9 Dateien aufgelistet sind? Sollte nicht Quelle Links für beide bereitgestellt werden forfiles und Toilette ? Auf dem OP ist WinXP standardmäßig nicht installiert.

Ja, der obige Beitrag war ein schneller Code und Sie Sidewinder haben meine Erlaubnis, den Code zu korrigieren und den neuen und besseren Code zu veröffentlichen. Vielen Dank für Ihre Hilfe. Es gab andere Leistungsindikatoren als wc -l. Google für weitere Informationen. Wir posten für alle Leser und nicht nur für das Originalplakat. Unser Code ist kein Seriencode. Wir werden nicht bezahlt. (Viele der Poster, auf denen Fragen gestellt werden, sind für ein Unternehmen auf der Gehaltsliste.) Warum helfen wir ihnen? Weitere Informationen zum Befehl forfiles: forfiles /? und/oder google. Das Originalplakat sollte einen Teil der Arbeit zur Lösung des Problems leisten.C: > forfiles /? FORFILES dd] Beschreibung: Wählt eine Datei (oder mehrere Dateien) aus und führt einen Befehl für diese Datei aus. Dies ist hilfreich für Stapeljobs. Parameterliste:/P Pfadname Gibt den Pfad an, unter dem die Suche gestartet werden soll. Der Standardordner ist das aktuelle Arbeitsverzeichnis (.)./M Suchmaske Sucht Dateien nach einer Suchmaske. Die Standardsuchmaske ist ''./S Weist forfiles an, in Unterverzeichnisse zurückzukehren. Wie "DIR/S"./C-Befehl Gibt den Befehl an, der für jede Datei ausgeführt werden soll. Befehlsstrings sollten in doppelte s eingeschlossen werden. Der Standardbefehl lautet "cmd/c echo @file". Die folgenden Variablen können in der Befehlszeichenfolge verwendet werden: @file - Gibt den Namen der Datei zurück. @fname - gibt den Dateinamen ohne Erweiterung zurück. @ext - gibt nur die Erweiterung der Datei zurück. @path - gibt den vollständigen Pfad der Datei zurück. @relpath - gibt den relativen Pfad der Datei zurück. @isdir - gibt "TRUE" zurück, wenn ein Dateityp ein Verzeichnis ist, und "FALSE" für Dateien. @fsize - gibt die Größe der Datei in Bytes zurück. @fdate - gibt das letzte Änderungsdatum der Datei zurück. @ftime - gibt die letzte geänderte Zeit der Datei zurück. Verwenden Sie zum Einfügen von Sonderzeichen in die Befehlszeile den Hexadezimalcode für das Zeichen im Format 0xHH (z. B. 0x09 für die Registerkarte). Internen CMD.exe-Befehlen sollte "cmd/c" vorangestellt werden./D Datum Wählt Dateien mit einem letzten Änderungsdatum größer oder gleich (+) oder kleiner oder gleich (-) des angegebenen Datums im Format "MM/TT/JJJJ" aus. oder wählt Dateien aus, deren letztes Änderungsdatum größer oder gleich (+) dem aktuellen Datum plus "dd" Tage oder kleiner oder gleich (-) dem aktuellen Datum minus "dd" Tage ist. Eine gültige "dd" -Anzahl von Tagen kann eine beliebige Zahl im Bereich von 0 bis 32768 sein. "+" Wird als Standardzeichen verwendet, wenn nichts angegeben ist. /? Zeigt diese Hilfemeldung an. Beispiele: FORFILES /? FORFILES FORFILES/P C: WINDOWS/S/M DNS. FORFILES/S/M .txt/C "cmd/c type @file | more" FORFILES/PC: /S/M .bat FORFILES/D -30/M .exe/C "cmd/c echo @path 0x09 was geändert vor 30 Tagen "FORFILES/D 01/01/2001/C" cmd/c echo @fname ist neu seit dem 1. Januar 2001 "FORFILES/D +5/16/2010/C" cmd/c echo @fname ist heute neu "FORFILES/M .exe/D + 1 FORFILES/S/M .doc/C" cmd/c echo @fsize "FORFILES/M .txt/C" cmd/c if @ isdir == FALSE notepad.exe @file " C: > PS : Sidewinder mit seinem neuen und besseren Code beantwortet die Frage: Warum wird die Anzahl 10 gezählt, wenn nur 9 Dateien aufgelistet sind? Die absolute Zählung ist nicht erforderlich Eine der oben angebotenen Lösungen liefert keine absolute Anzahl, ist aber nah genug für die Regierungsarbeit: dir/OD | findstr "15.05.2010 16.05.2010" | wc -lC: test> dir/OD | findstr "15.05.2010 16.05.2010" | c: bin wc -l 11 Vielen Dank für Ihre Hilfe Sidewinder.

Genau so ist es forfiles /? Wirst du jemandem helfen, der das Programm nicht auf seinem System installiert hat? Vielen Dank, Marvin, für die Gelegenheit, dich noch einmal zu retten, aber ich werde bestehen. Es ist allgemein bekannt, dass Sie mit dem Graben aufhören müssen, wenn Sie sich in einem Loch befinden. Aber nein, Sie graben immer tiefer: Bei einer solchen Einstellung scheint es logisch, dass Ihre vorherigen Beiträge ungenau, irreführend oder falsch waren Ich dachte, als Sie ein Upgrade auf Win7 durchführten und forfiles entdeckten, würden Sie zum Win7-Board gehen und das DOS-Backwater denjenigen überlassen, die eine Ahnung haben. Wenn nur.

ahh, na dann kann die Zählung auch eine zufällige ganze Zahl von 1 bis 50 sein.

C: test> tippe Abhi.batCode: @echo offfor/f "delims =" %% i in ('cscript // nologo c: test evalu.vbs "date -1"') do (set gestern =% % iecho gestern =% gestern%) setze Heute =% DATE: ~ 4,10% echo Heute =% Heute% dir/OD/AD | findstr "% gestern%% heute%" dir/OD/A-D | findstr "% gestern%% heute%" | find/c/v ""> filecount.txtecho type filecount.txttype filecount.txtrem evaluation.vbsrem Wscript.echo eval (WScript.Arguments (0)) rem Vielen Dank, Salmon Trout, für evaluation.vbs Ausgabe: C: test> Abhi.batyesterday = 5/15/2010Today = 05/16/201005/15/2010 03:57 AM 14 trk.txt05/15/2010 04:43 AM 129 gpl77.bat05/15/2010 09: 56 PM 138 zee4.bat05/15/2010 9:57 PM 150 tgk.txt05/16/2010 04:19 AM 361 st0510.bat05/16/2010 13:20 PM 92 teststr.txt05/16/2010 9:37 PM 135 gestern.bat05/16/2010 10:29 PM 3 filecount.txt05/16/2010 10:32 PM 466 Abhi.bat type filecount.txt9C: test>

Breitbild-Dehnungspunkte

Ich habe kürzlich einen neuen Breitbild-LCD-Monitor gekauft, um meinen alten und kaput CRT zu ersetzen. Ich habe jedoch ein Problem damit, es mit seiner nativen Auflösung auszuführen. Nach der Installation der Monitortreiber stehen auf der Registerkarte Anzeigeeinstellungen nur Auflösungsoptionen für ein Seitenverhältnis von 4: 3 und 3: 2 zur Verfügung. Dies hat mich gezwungen, eine Auflösung von 1280 x 1024 zu verwenden, die dazu führt, dass sich alles über den Bildschirm erstreckt. Ich stelle fest, dass sowohl mein Betriebssystem als auch meine Hardware prähistorisch sind, aber meine Grafikkarte behauptet, Auflösungen von bis zu 1600 x 1200 zu unterstützen. Ich frage mich also, ob dies eine Einschränkung meines Betriebssystems ist oder ob meine Grafikkarte mich daran hindert, ein Seitenverhältnis von 16:10 zu verwenden. Wenn es sich um die Grafikkarte handelt, woher wissen Sie, welche Karten einen Breitbildmonitor unterstützen? ? ~ JamesVerfügbare Auflösungen: 1280 x 1024, 1152 x 864, 1024 x 768, 848 x 480, 800 x 600, 768 x 576, 720 x 480, 640 x 480Videokarte: ATI XPERT 98 Monitor: Acer X193w - native Auflösung: Betriebssystem: Windows 98SEMotherboard: ECS Elitegroup P6VXACPU: 1 GHz Pentium IIIRAM: 256 MB

1600x1200 entspricht immer noch einem Verhältnis von 4: 3. Ihre Grafikkarte muss Breitbildauflösungen unterstützen: Dies sind Standard-Bildschirmauflösungen:

Beliebte Beiträge