{title}

OK, ich brauche wieder deine Hilfe In den Prioritäten: 1. Ich versuche den Inhalt zu bekommen und setze jede Zeile als Variable.2. Wenn die Zeilenanzahl einen bestimmten Wert überschreitet (z. B. 30), löschen Sie die erste Zeile und verschieben Sie alles eine Zeile nach oben. Der Befehl FOR funktioniert hier möglicherweise, aber ich weiß nicht, wie der Begrenzer als neue Zeile festgelegt wird tut auch nichts.

Könnten Sie das etwas näher erläutern? Meinen Sie, Sie möchten jede Zeile in eine Variable einfügen, etwas mit dieser Variablen machen, dann zur nächsten Zeile übergehen und wiederholen, bis alle Zeilen fertig sind? Verstanden, dass 30 ein Beispiel ist. Meinen Sie, wenn die Datei 36 Zeilen enthält, reduzieren Sie sie auf 30 Zeilen und verwerfen Sie die oberen 6 Zeilen? Oder wird es überwacht, damit es, wenn es jemals über 30 wird, sofort abgeschnitten wird? Die 31 ist also die größte, die es je gab? Und Sie möchten die FOR-Begrenzer zum Anfang und Ende einer Zeile machen? Das heißt, die ganze Linie nehmen? Kann das jetzt machen. Es ist "delims ="

Könnten Sie das etwas näher erläutern? Meinen Sie, Sie möchten jede Zeile in eine Variable einfügen, etwas mit dieser Variablen tun, dann zur nächsten Zeile übergehen und wiederholen, bis alle Zeilen fertig sind?

2. Wenn die Zeilenanzahl einen bestimmten Wert überschreitet (z. B. 30), löschen Sie die erste Zeile und verschieben Sie alles eine Zeile nach oben.

Verstanden, dass 30 ein Beispiel ist. Meinen Sie, wenn die Datei 36 Zeilen enthält, reduzieren Sie sie auf 30 Zeilen und verwerfen Sie die oberen 6 Zeilen? Oder wird es überwacht, damit es, wenn es jemals über 30 wird, sofort abgeschnitten wird? Die 31 ist also die größte, die es je gab? Und Sie möchten die FOR-Begrenzer zum Anfang und Ende einer Zeile machen? Das heißt, die ganze Linie nehmen? Kann das jetzt machen. Es ist "delims ="

Könnten Sie das etwas näher erläutern? Meinen Sie, Sie möchten jede Zeile in eine Variable einfügen, etwas mit dieser Variablen machen, dann zur nächsten Zeile übergehen und wiederholen, bis alle Zeilen fertig sind?

2. Wenn die Zeilenanzahl einen bestimmten Wert überschreitet (z. B. 30), löschen Sie die erste Zeile und verschieben Sie alles eine Zeile nach oben.

Verstanden, dass 30 ein Beispiel ist. Meinen Sie, wenn die Datei 36 Zeilen enthält, reduzieren Sie sie auf 30 Zeilen und verwerfen Sie die oberen 6 Zeilen? Oder wird es überwacht, damit es, wenn es jemals über 30 wird, sofort abgeschnitten wird? Die 31 ist also die größte, die es je gab? Und Sie möchten die FOR-Begrenzer zum Anfang und Ende einer Zeile machen? Das heißt, die ganze Linie nehmen? Kann das jetzt machen. Es ist "delims ="

1. Das ist richtig. Mein Programm wird alle 2 Sekunden aktualisiert, aber wenn die Zeilenanzahl über 30 liegt, wird es wirklich nervös. Ich möchte dieses Problem nur beheben, ohne die gesamte Datei löschen zu müssen, und dann erneut starten.2. Ich dachte über diese Lösung nach, war mir aber nicht sicher, ob sie funktionieren würde oder nicht. Und nur eine Frage, was würde passieren, wenn es mehr als 26 von ihnen gibt ??? Ich beginne bei% a, aber was passiert, wenn ich bei% z angekommen bin und noch mehr Zeilen übrig sind?

Sie müssten die Zeilen in der Datei zählen. Wenn mehr als 30 Zeilen vorhanden sind, kopieren Sie die letzten 30 Zeilen der Datei in eine andere Datei, löschen Sie die Originaldatei und benennen Sie die zweite Datei in den Originaldateinamen um. Dies ist möglicherweise nicht möglich, wenn die erste Datei von einem anderen Programm verwendet wurde. Ich verstehe das überhaupt nicht. Warum sollen ALLE Zeilen in der Datei gleichzeitig als Variablen vorhanden sein? Warum müssten Sie das tun?

Ich könnte mich irren, aber ich vermute, es hängt damit zusammen

C: test> Geben Sie erasedir.batCode: @echo offcd C: FOR/F "-Token =" %% i IN ('DIR/B/AD/S ms') Echo %% irem FOR/F "-Token = "%% i IN ('DIR/B/AD/S ms') DO RMDIR/S/Q %% irem Achten Sie darauf, keine nicht gewünschten Verzeichnisse einzuschließen, wenn Sie den Platzhalter rem Use echo verwenden, bis Sie sicher sind, dass die Verzeichnisliste vorhanden ist ist richtig www.daniweb.com/forums/thread61479.html#

www.raymond.cc/blog/archives/2007/09/24/deltree-command-replacement-in-windows-2000-or-windows-xp/

Der Code von marvin würde nur die Verzeichnisse löschen, deren Namen mit den Buchstaben msMaybe beginnen. Wenn er nur den Code kopiert und eingefügt hätte, den er tatsächlich verstanden hat, wäre das hilfreicher? (Ich denke, es würde die Anzahl der Veröffentlichungen reduzieren!)

McDavies, Wir haben keine weiteren Vorschläge zum Entfernen Ihrer Verzeichnisse oder Unterverzeichnisse gesehen. McDavies informiert das Computer Hope Board darüber, wie Sie Ihr Problem lösen. Sind die Namen der Verzeichnisse und Sudirectories gleich? Zum Beispiel: Innerhalb von Fakefolder befindet sich ein weiterer Ordner namens fakefolder .. etc .... Wir müssen Ihr Problem für einen Test des Befehls rmdir mit der for-Schleife neu erstellen. Der Befehl deltree ist auf meinem Computer nicht verfügbar. Ich verwende das Win 7-Betriebssystem. C: > rmdir /? Entfernt (löscht) ein Verzeichnis. RMDIR-Pfad RD-Pfad/S Entfernt alle Verzeichnisse und Dateien im angegebenen Verzeichnis zusätzlich zum Verzeichnis selbst. Dient zum Entfernen eines Verzeichnisbaums./Q Stiller Modus, fragen Sie nicht, ob Sie einen Verzeichnisbaum mit/SC: > entfernen möchten

c: test> Geben Sie erasedir.batCode: @echo offcd c: FOR/F "-Token =" %% i IN ('DIR/B/AD/S-Fälschungsordner') Echo %% irem FOR/F "-Token = "%% i IN ('DIR/B/AD/S-Fälschungsordner') DO RMDIR/S/Q %% icd c: test Ausgabe mit Echo: c: test> erasedir.batc: test fakefolderc: test fakefolder fakefolderc: test fakefolder fakefolder fakefolderc: test> ______________________________________________ c: test fakefolder fakefolder fakefolder> cd c: > cd testc: test> Geben Sie erasedir.batCode: @echo offcd c: rem FOR/F-Token = "%% i IN" ('DIR/B/AD/S-Fälschungsordner') Echo %% iFOR/F-Token = "%% i IN ('DIR/B/AD/S-Fälschungsordner') DO RMDIR/S/Q %% icd c: test Ausgabe: Falschordner entfernen c: test> erasedir.batDas System kann den angegebenen Pfad nicht finden. c: test> cd fakefolderDas System kann den angegebenen Pfad nicht finden. c: test>

Bat Assist Es wird beendet, wenn ich 1, 2, 3 oder 4 drücke. Bitte Assistieren !!!

@echo offecho 1 - defragecho 2 - calcecho 3 - notepadecho 4 - exitset/p chice = wenn% choice% equ 1 zum defragif% choice% equ 2 zum calcif% choice% equ 3 zum noteif% choice% equ 4 zum exit: defragcall % SystemRoot% system32 dfrg.msc: Berechnen Sie den Aufruf von% SystemRoot% system32 calc.exe: Notecall% SystemRoot% system32otepad.exe: Exitexit: Questionset/pc = Möchten Sie beenden? If/i "% c% "" y "gehe zu endif/i"% c% "" N "gehe zu clr: endexit: clrclsecho, wenn Sie den Typ EXIT beenden möchten.

a hat einen Fehler gemacht, aber wenn ich 1 drücke, wird es geöffnet und beim Beenden wird zum nächsten Programm gewechselt und beendet


Code:
@echo off: MENUclsecho 1 - defragecho 2 - calcecho 3 - notepadecho 4 - exitset/p choice = wenn% choice% equ 1 defragif% choice% equ 2 calcif% choice% equ 3 noteif% choice% equ 4 exit :% SystemRoot% system32 dfrg.mscgoto defragmentieren MENU:% SystemRoot% system32 calc.exegoto aufrufen MENU:% SystemRoot% system32otepad.exegoto aufrufen MENU: QUESTIONclsset/pc = Möchten Sie beenden ?: if/i "% c%" "y" exit/bif/i "% c%" "n" goto MENUgoto: QUESTION: exitcall: questionexit

Beliebte Beiträge