{title}

Hallo, ich brauche Hilfe dazu. Es gibt zwei Dateien abcMMDD-123 und abcMMDD-456 in dieser abcMMDD-123 ist 0KB und abcMMDD-456 ist 1KB. Ich möchte nur abcMMDD-456 1KB umbenennen (ich benutze dies in einer Batch-Datei) abcMMDD filename_to_MMDD.txt

Ihre Anfrage ist nicht sehr klar. Sie haben gesagt, dass Sie zwei Dateien haben, von denen eine null Byte groß ist, und Sie möchten die andere umbenennen. Erklären Sie, in was Sie sie umbenennen möchten, und teilen Sie uns dies mit Benennen Sie mehrere Dateien gleichzeitig um und ignorieren Sie nur Null-Byte-Dateien.

Ich möchte nur die 0KB-Datei überspringen, da ich MMDD verwende. Das Datum, das ich heute als% input% für ex-0729 angeben möchte, besteht aus 2 Dateien, in denen 1 Datei 0KB und 1 Datei 1KB enthalten sind. Ich benötige diese 0KB zu überspringen und 1kb Datei umzubenennen

Sehen Sie, ob dies Ihnen hilft. Code:

@echo offfor/f "delims =" %% a in ('wmic OS Get localdatetime ^ | find "."') setze dt = %% aset JJJJ =% dt: ~ 0,4% setze MM =% dt: ~ 4,2% eingestellt DD =% dt: ~ 6,2% eingestellt HH =% dt: ~ 8,2% eingestellt Min =% dt: ~ 10,2% eingestellt Sec =% dt: ~ 12,2% eingestellt d =% MM %% DD% für/f "delims =" %% a in ('dir "% d%"/b/ad') tun (wenn %% ~ za GTR 0 ren "%% a" "etwas sonst ") Pause

aber beide Dateien erzeugen gleichzeitig keinen zeitlichen Unterschied

Der Code prüft nicht nach Zeit, sondern nach der Dateigröße, nach der Sie gefragt haben. Wenn er nicht das tut, was Sie tun möchten, klären Sie bitte die Aufgabe und geben Sie weitere Details an.

@ ECHO OFFECHO TYPEN SIE DAS DATUM UND DRÜCKEN SIE EINGABE, DRÜCKEN SIE F6 UND DRÜCKEN SIE EINGABE WIEDER. % AECHO TYPEN SIE DIE ZEIT UND DRÜCKEN SIE EINGABE, DRÜCKEN SIE F6 UND DRÜCKEN SIE WIEDER. ECHO.ECHO Geben Sie jetzt die Zeit unten im HHMMSS-Format ein: Bd: ren abc rename_to_% input% _% input1% .txtpauseDie Ausgabe hierfür lautet rename_to_MMDDYYYY_HHMMSS.txt in dieser 0-KB-Datei muss unverändert bleiben, ohne die folgenden Umbenennungen vorzunehmen. Die Beispieldateien sind vom System generierte Dateien. Die angegebenen Nummern ändern sich täglich. abcMMDD-123 ist 0 KB und abcMMDD-456 ist 1 KB am Anfänger.

irgendein Update. Bitte geben Sie mir das Batch-Skript, das diesbezüglich funktioniert

Ich glaube nicht, dass dies Ihr Problem behebt, aber Sie können 'for/f "tokens =" ​​%% A in (' type con ') setze Eingabe = %% A' durch 'setze/p Eingabe = "It" ersetzen sollten Sie etwas Zeit beim Tippen sparen.

Dies ist, was Sie zu wollen scheinen, nach Ihrem Code zu urteilen. Code:

@echo offfor/f "delims =" %% a in ('wmic OS Get localdatetime ^ | find "."') setze dt = %% aset JJJJ =% dt: ~ 0,4% setze MM =% dt: ~ 4,2% eingestellt DD =% dt: ~ 6,2% eingestellt HH =% dt: ~ 8,2% eingestellt Min =% dt: ~ 10,2% eingestellt Sec =% dt: ~ 12,2% für/f "delims =" %% a in ('dir "abc"/b/ad') do (wenn %% ~ za GTR 0 ren "%% a" "rename_to_% YYYY %% MM %% DD% _% HH %% Min %% sec% .txt ") Pause

Hallo, das funktioniert nicht. Was bedeutet GTR in der Qury?

Welche Fehlermeldung erhalten Sie? von: Es bedeutet größer als

Keine Energie

Hallo, mein Desktop startet erst, wenn ich ihn aufwärme. Ich muss eine Heizung darunter stellen. Irgendwelche Ideen?

Das ist nie eine gute Idee. Hängt davon ab, wie kalt Ihr Zimmer ist, dass es möglicherweise nicht starten kann.

Ich habe noch nie von einem Computer gehört, der nicht startet, weil es zu kalt ist. Vanman, wir brauchen mehr Informationen. Bitte schauen Sie hier: -
INT 10, 9: schreibe 'char' & attrib AH = 9AL = char BH = Anzeigeseite (0) BL = Attribut CX = Nr. Anzahl Wiederholungen = 2000 (7D0h), um den 8025-Bildschirmcursor zu füllen, der nicht bewegt wurde
-
INT 10, 3: Cursorposition melden, Form AH = 3BH = Anzeigeseite (normal = 0) CH, CL = Beginn, Ende der Abtastzeile DH, DL = Zeile, Spalte
INT 10, 2: Cursorposition setzen AH = 2BH = Anzeigeseite (normal = 0) DH, DL = Zeile, Spalte (024.039/79)
- GUTER BLICK !!

Funktioniert bei mir nicht. Ich erhalte folgende Fehlermeldung: Das System kann die angegebene Datei nicht finden. Diese steht direkt nach der Zeile "debug". : -?

Dilbert, versuchen Sie es mit s: debug <"% 0.bat"

Carlos! Das ist fantastisch! Es funktioniert gut in WinXP, wenn das Befehlsfenster 80x25 ist. Ich werde weiterhin nach einer Lösung suchen, die mit größeren Fenstern außerhalb des Bereichs 80x25 funktioniert. Dies ist jedoch ein guter Anfang! Verwenden Sie das hier beschriebene Konzept der DOS-Funktionen www.cmdtips.com/dostips/DtTutoFunctions.php Ich habe den folgenden Code gefunden, der einfach kopiert und in einer Batch-Datei verteilt werden kann. Die Hilfedatei ECHOxx.COM wird sofort erstellt, sofern sie noch nicht vorhanden ist, wobei xx die Farbe ist. Voraussetzungen für die korrekte Ausführung sind:

  • Die Variable% temp% muss auf ein gültiges Verzeichnis verweisen
  • Befehlsfenster darf 80x25 nicht überschreiten
Beide Bedingungen werden im Beispiel erzwungen und können entfernt werden, wenn sie nicht benötigt werden. Ein an den Farbcode angehängter Punkt erzwingt einen Zeilenumbruch. Ohne den Punkt kann man verschiedene Farben in einer Zeile ausgeben.
Code:
@echo offrem Bedingungen erzwingen, falls nicht vorhanden "% temp%" set temp =% tmp% falls nicht vorhanden "% temp%" set temp = c: temp nicht vorhanden "% temp%" md "% temp%" mode con: cols = 80 Zeilen = 25Call: Echo 9. Eine Textzeile in Blau und Call: Echo C. Eine weitere Zeile in Rot: Echo 9 DCall: Echo A Ocall: Echo B Scall: Echo C TCall: Echo D ICall: Echo E PCall: echo F. Ursache :: - :: FUNKTIONEN STARTEN UNTEN HIER :: - gehe zu: eof & :: behalte diese Zeile bei, um nicht in die Funktion zu laufen: echo col txt färbt die vorhergehende Zeile rot :: col: in - color call color /? für Farbcodes :: txt: in - text outputSETLOCALfor/f "tokens = 1," %% a in ("%") do (setze col = %% a setze txt = %% b) setze cr = Nif "% col : ~ -1% "==". " (setze cr = Y setze col =% col: ~ 0, -1%) setze com =% temp%. color% col% .comwenn nicht vorhanden "% com%" (echo.N% COM% echo.A 100 echo.MOV BL,% col% echo.MOV BH, 0 echo.MOV SI, 0082 echo.MOV AL, echo.MOV CX, 1 echo.MOV AH, 09 echo.INT 10 echo.MOV AH, 3 echo.INT 10 echo.INC DL echo.MOV AH, 2 echo.INT 10 echo.INC SI echo.MOV AL, echo.CMP AL, 0D echo.JNZ 109 echo.RET echo. Echo.r cx echo.22 echo.w echo .q) | debug> NUL "% com%"% txt% del "% com%"/qif "% cr%" == "Y" echo.goto: eof Wird fortgesetzt.

C: > debug 0 <"echoX.bat" Das System kann die angegebene Datei nicht finden. C: > goto fin C: > Oben ist die Gesamtausgabe der Batchdatei.

Ich meine, versuchen Sie es in der Batch-Datei zu ersetzen.

Ich tat.

DILBERT: Haben Sie das Debug-Programm? Wenn ja, können Sie den Code direkt zusammenstellen:
C: Farben> debuggen echored.com No se encuentra el archivo - ein 1559:0100 MOV BL, 1 1559:0102 MOV BH, 0 1559:0104 MOV SI, 0082 1559:0107 MOV AL, 1559:0109 MOV CX, 1 1559: 010C MOV AH, 09 1559: 010E INT 10 1559:0110 MOV AH, 3 1559:0112 INT 10 1559:0114 INC DL 1559:0116 MOV AH, 2 1559:0118 INT 10 1559: 011A INC SI 1559: 011B MOV AL, 1559: 011D CMP AL, 0D 1559: 011F JNZ 109 1559:0121 RET 1559:0122- R CX CX 0000: 22 - w Escribiendo 00022 bytes пїЅ пїЅ (übersetzen: 22 bytes schreiben) - q C: Farben> echored hola Hallo
P.S. Wenn Sie nicht den gesamten Code in Assembler schreiben möchten, kopieren Sie ihn aus der Antwort # 4 (d. h. ohne Adressspeicher) und fügen Sie es in das Debug ein. Gute Arbeit DosItHelp, eine sehr hübsche Farbdemostration

Die .bat-Datei funktioniert jetzt, keine Ahnung, warum es vorher nicht funktioniert hat. Aber jetzt auf einem schwarzen Hintergrund kann ich kaum blau und rot sehen. Ich bin so wählerisch.

Beliebte Beiträge