{title}

Hallo Leute, Habe ein kleines Problem, bei dem ich hoffentlich Hilfe bekommen könnte. Ich habe derzeit eine Batch-Datei (wenn Speicher bereitgestellt wird, scheint mir die Idee ursprünglich von dieser Site gekommen zu sein), die das Datum aufnimmt und es zu einer Archivdatei hinzufügt, die täglich erstellt wird. Dies funktioniert einwandfrei, wenn das regionale kurze Datumsformat in Windows für M/d/yyyy eingerichtet ist. Es gibt jedoch einen anderen Speicherort, der das kurze Datumsformat TT-MMM-JJ verwendet. In diesem Fall funktioniert dieselbe Batchdatei nicht. Ich habe versucht, die Datumsvariablen in der vorhandenen Batch-Datei anzupassen, komme aber nicht weiter. Ist es möglich, dass jemand in der Lage ist, mir mitzuteilen, welche Einstellungen ich vornehmen muss, um das andere Datumsformat von TT-MMM-JJ zu berücksichtigen, damit die Batch-Datei funktioniert?

@echo off :: Setzen von MM auf den aktuellen numerischen Monatssatz MM =% date: ~ 4,2% :: Platzieren aller möglichen Monate in eine Variable, die im for-Loopset month_text = "01 JAN" "02 FEB analysiert wird "03 MAR" "04 APR" "05 MAI" "06 JUN" "07 JUL" "08 AUG" "09 SEP" "10 OCT" "11 NOV" "12 DEC" :: for-Schleife analysiert die Variable month_text Verwenden Sie den Befehl find mit dem numerischen Monat, um die Monatsvariable für %% I in (% month_text%) festzulegen. Geben Sie %% I | find "% MM%" && set MM = %% ~ I ​​:: Muss die Zahl und entfernen spaceecho Datum:% date% echo Heute:% date: ~ 7,2%% MM: ~ 3%% date: ~ 10,4% SET Monat =% DATE: ~ 4,2% wenn% Month% == 01 gesetzt ist Month = JANif% Month% == 02 eingestellt Month = FEBif% Month% == 03 eingestellt Month = MARif% Month% == 04 eingestellt Month = APRif% Month% == 05 eingestellt Month = MAYif% Month% == 06 eingestellt Month = JUNif% Month% == 07 set Month = JULif% Month% == 08 set Month = AUGif% Month% == 09 set Month = SEPif% Month% == 10 set Month = OCTif% Month% == 11 set Month = NOVif% Month% == 12 set Month = DECecho% Month% @ For/F "-Token = 2,3,4 delims = /" %% A in ('Date/t') do @ (Set Day =% % ASet Mont h = %% BSet Year = %% CSet All =% date: ~ 7,2%% MM: ~ 3% %% C) Tägliches Komprimieren des Inventars/Empfangen von Dateien und Ausschalten von ECHO off7z a -t7z "Warehouse 7C -% ALL % .7z "-x! .7z -mx9 -mmtshutdown/s In allen Dateinamen möchte ich, dass das Datum als TT MMM JJJJ angezeigt wird. Vielen Dank, Ken

Dies sollte unter XP Pro und höher funktionieren. Code:

@ECHO off :: GET DATE und TIMEfor/f "tokens = 2 delims ==" %% a in ('wmic OS Get localdatetime/value') setze "dt = %% a" setze "YYYY =% dt: ~ 0,4% "eingestellt" MM =% dt: ~ 4,2% "eingestellt" DD =% dt: ~ 6,2% "eingestellt" HH =% dt: ~ 8,2% "eingestellt" Min =% dt : ~ 10,2% "set" Sec =% dt: ~ 12,2% "

Meine Güte, was für eine schnelle und hilfreiche Antwort. Das funktioniert wunderbar. Es ist auch schön, die Zeitvariablen als zukünftige Referenz zu haben. Wie folgt getestet (um hoffentlich den abgekürzten Monat in Großbuchstaben anzuzeigen): Code:

@ECHO offSET Month =% DATE: ~ 3,3% if% Month% == 01 set Month = JANif% Month% == 02 set Month = FEBif% Month% == 03 set Month = MARif% Month% == 04 Monat einstellen = APRif% Monat% == 05 Monat einstellen = MAI% Monat% == 06 Monat einstellen = JUNI% Monat% == 07 Monat einstellen = JULI% Monat% == 08 Monat einstellen = AUGif% Monat% == 09 set month = SEPif% month% == 10 set month = OCTif% month% == 11 set month = NOVif% month% == 12 set month = DEC :: GET DATE und TIMEfor/f "tokens = 2 delims ==" %% a in ('wmic OS Get localdatetime/value') setze "dt = %% a" setze "YYYY =% dt: ~ 0,4%" setze "MM =% dt: ~ 4,2%" setze "DD =% dt: ~ 6,2%" eingestellt "HH =% dt: ~ 8,2%" eingestellt "Min =% dt: ~ 10,2%" eingestellt "Sec =% dt: ~ 12,2% "Echo TT-MMM-JJJJ:% TT%% Monat%% JJJJ% Pause Der einzige Nachteil, den ich feststellen kann, ist, dass das regionale Datumsformat für TT/M/JJJJ eingestellt ist und der Monat nach Belieben vollständig in Großbuchstaben angezeigt wird. Wenn das Datumsformat jedoch auf TT-MMM-JJ eingestellt ist, wird nur das erste Zeichen in Großbuchstaben geschrieben. Gibt es eine Möglichkeit, den gesamten Monat in Großbuchstaben zu schreiben? Vielen Dank. Ken

Versuchen Sie dies: Code:

@ECHO off :: GET DATE und TIMEfor/f "tokens = 2 delims ==" %% a in ('wmic OS Get localdatetime/value') setze "dt = %% a" setze "YYYY =% dt: ~ 0,4% "eingestellt" MM =% dt: ~ 4,2% "eingestellt" DD =% dt: ~ 6,2% "eingestellt" HH =% dt: ~ 8,2% "eingestellt" Min =% dt : ~ 10,2% "set" Sec =% dt: ~ 12,2% "wenn% MM% == 01 set Month = JANif% MM% == 02 set Month = FEBif% MM% == 03 set Month = MARif% MM% == 04 Monat einstellen = APRif% MM% == 05 Monat einstellen = MAIif% MM% == 06 Monat einstellen = JUNif% MM% == 07 Monat einstellen = JULif% MM% == 08 Monat einstellen = AUGif% MM% == 09 eingestellter Monat = SEPif% MM% == 10 eingestellter Monat = OKTif% MM% == 11 eingestellter Monat = NOVif% MM% == 12 eingestellter Monat = DECecho TT-MMM-JJJJ:% TT% % Monat%% JJJJ% Pause

War es nicht der Punkt Ihrer Frage, dass Sie eine Möglichkeit wollten, das Datum in einem konsistenten Format abzurufen, damit Sie mit Ihren SET-Befehlen die Monatsabkürzung in Großbuchstaben setzen können? Warum verwenden Sie immer noch den Befehl DATE?

Danke foxidrive, deine Lösung funktioniert einwandfrei!

Entschuldigung, ich glaube ich verstehe dich nicht klar. Ja, ich möchte ein konsistentes Datum erhalten, das wie folgt angezeigt wird: TT MMM JJJJ (mit abgekürztem Monatsnamen in Großbuchstaben). Wenn ich jedoch das Datum mit dem von Ihnen ursprünglich angegebenen Code anzeigte, wurde das Ergebnis als numerischer Monat angezeigt. Nehmen Sie zum Beispiel Ihren Code wie er ist und zeigen Sie die Ausgabe an: Code:

@ECHO off :: GET DATE und TIMEfor/f "tokens = 2 delims ==" %% a in ('wmic OS Get localdatetime/value') setze "dt = %% a" setze "YYYY =% dt: ~ 0,4% "eingestellt" MM =% dt: ~ 4,2% "eingestellt" DD =% dt: ~ 6,2% "eingestellt" HH =% dt: ~ 8,2% "eingestellt" Min =% dt : ~ 10,2% "set" Sec =% dt: ~ 12,2% "echo% DD%% MM%% YYYY% Angezeigte Ergebnisse: 03 11 2014Daher habe ich einen Teil des ursprünglichen Codes verwendet hätten. Dies ermöglicht es mir, das nicht numerische Datum zu erhalten. .Danke für deine Hilfe.

Sie hatten den Code, um den numerischen Monat in den abgekürzten Monat zu übersetzen. Ich hätte nicht gedacht, dass ich das zu dem Code hinzufügen muss, den ich dir gegeben habe. Schien mir ziemlich offensichtlich zu sein.

Ich bin mir nicht sicher, warum du denkst, dass es notwendig ist, mich hier herabzusetzen, aber wenn es dich glücklich macht, sei es so. JA, es war auch für mich offensichtlich. Deshalb habe ich tatsächlich den Monatscode eingefügt, um die Monate zu übersetzen. Ich war nur neugierig, warum sie nicht alle in Großbuchstaben geschrieben waren. Und Sie haben sich entschieden, mich mit der Verwendung von DATE anstelle von SET zu befassen. Ich habe das verwendet, was in meinem speziellen Fall für mich richtig funktioniert hat. Dank der großen Hilfe von foxidrive habe ich jetzt, was super funktioniert.

Ich bin nicht auf Ihren Fall gekommen, den Datumsbefehl zu verwenden. Ich habe dir eine sehr schwarz-weiße Frage gestellt. Sie wussten offensichtlich, dass sich die regionalen Einstellungen auf die Ausgabe des Datumsbefehls auswirkten, und ich gab Ihnen eine konsistente Datumsausgabe, die von den regionalen Einstellungen nicht betroffen war und zur Übersetzung in die Monatsabkürzung mit Ihren vorhandenen festgelegten Befehlen verwendet werden konnte. Sie haben dann erneut gefragt, ob Sie den Befehl date erneut verwenden möchten, und ich habe Sie gefragt, warum Sie immer noch versucht haben, ihn zu verwenden.

Der von Ihnen angezeigte Code ist sowohl eigenartig als auch fehlerhaft. Ihr Code verwendet im Wesentlichen einen numerischen Monat, um einen Monat mit drei Buchstaben zu erhalten, und mit Squashmans Code funktioniert er einwandfrei. In der ersten Zeile oben wird die Monatsvariable auf eine Zeichenfolge von DREI festgelegt, und Sie vergleichen sie anschließend mit einer Zeichenfolge von ZWEI es wird nichts tun und die ursprüngliche Monatsvariable wird völlig unverändert bleiben. Deshalb ist es fehlgeschlagen. Ich sollte hinzufügen, dass der Stapel auch eigenartig ist und wenn die Zeichenfolge (aus zwei Ziffern) zufällig ein führendes oder nachfolgendes Leerzeichen hat, dann könnte es passen die vergleicht.

Bildschirm Nachteil

Ich starte meinen Computer und er läuft 10 Minuten lang einwandfrei, aber dann wird der Bildschirm plötzlich ausgeschaltet und es kommt kein Eingangssignal. Dies geschieht jedes Mal, wenn ich den Computer einschalte. Vielen Dank im Voraus, ALi_

Sehr mögl. Grafikkarte, wird das Display wieder angezeigt, wenn Sie den PC aus- und wieder einschalten? Handelt es sich um eine Grafikkarte oder eine an Bord befindliche Grafikkarte?

.und der Computer selbst läuft noch?

Ist die CPU noch in Betrieb oder nicht? Probieren Sie eine der folgenden Lösungen aus: -1.Versuchen Sie, die Stromversorgung zu ändern.2.Überprüfen Sie den CPU-Lüftersockel (prüfen Sie, ob er den Kühlkörper festhält) .3.Wenn Sie eine Grafikkarte verwenden, Versuchen Sie, den Onboard-Port zu ändern.) 4. Versuchen Sie, einen anderen Monitor zu verwenden. 5. Überprüfen Sie den RAM-Speicher (versuchen Sie, den Steckplatz zu ändern, oder verwenden Sie einen anderen RAM-Speicher), wenn alle Lösungen nicht funktionieren.

Ja, der Computer läuft noch. Ich muss es am Stecker ausschalten, damit es wieder funktioniert. Danke.

Versuchen Sie zunächst, den Monitor mit einem anderen Computer zu verbinden.

Überprüfen Sie auch Ihre Kabel und deren Verbindungen zum Monitor und zur Grafikkarte.

Beliebte Beiträge