{title}

Ich habe dies ursprünglich als Teil zwei in einem zweiteiligen Problem gepostet, aber es scheint, dass niemand der Herausforderung gewachsen ist. Deshalb poste ich das alles von selbst neu, auch weil ich es nur ein bisschen geändert habe. Mir wurde gesagt, dass dies möglich ist, aber Sie sagen mir, dass jemand bereit ist, auf die Platte zu treten? In einer Textdatei befindet sich ein Datumsstempel, den ich in einem Dateinamen verwenden möchte. Ich möchte, dass die Batch-Datei die Datei öffnet (es gibt mehr als eine im Verzeichnis), den Datumsstempel findet (immer an derselben Stelle), den Datumsstempel in ein anderes Format konvertiert und die Datei dann mit diesem Text umbenennt. Hier ist das Beispiel: Der Dateiname lautet alarmlog_01.log bis alarmlog_12.log. Die ersten beiden Zeilen der ersten Textdatei (alarmlog_01.log): INLS_LOS Version 0.38 Fr 31-Mar-2006 14:08:10 System 1 Start Was ich brauche Folgendes muss geschehen: 1. Benennen Sie die Datei in 060331_140810_Alarmlog.log um. 2. Überprüfen Sie die nächste Datei und benennen Sie sie ebenfalls mit dem Datumsstempel in dieser Datei um. 3. Wiederholen Sie den Vorgang, bis alle Dateien fertig sind Datumsstempel, den zweiten mit einem "_A" oder "_1" oder was auch immer anhängen. Können Sie das tun?? Super Duper Danke in Advanced.

Tritt die Zeile "System 1-Start" immer in der Zeile mit dem Datumsstempel auf, tritt sie auch an anderer Stelle in der Datei auf?

"System 1-Start" wird in der zweiten Zeile am Ende immer genau an derselben Stelle in jeder Datei angezeigt, wie unten gezeigt. "System 1-Start" wird NUR einmal in jeder Datei angezeigt. Ich habe ein Beispiel für die ersten Zeilen aus einer typischen Protokolldatei eingefügt. INLS_CF Version 0.38Sat 22-Apr-2006 13:55:17 System 1 StartupSat 22-Apr-2006 13:55:17 Schiffskonfiguration geändert von -1 zu 0Sat 22-Apr-2006 13:55:19 NMS1: MASTERSat 22- Apr-2006 13:55:19 Position: Manual ModeSat 22-Apr-2006 13:56:11 Richtung: Manual ModeSat 22-Apr-2006 13:56:13 Thruster Bow T1: OFFSat 22-Apr-2006 13:58: 22 Thruster Port Main: OFFSat 22-Apr-2006 13:58:54 Thruster Stbd Main: OFFSat 22-Apr-2006 14:03:14 Gyro 1: ONLINEThanks

Dies funktioniert in Windows XP CMD, ich nehme an, es sollte in Win2000 funktionieren. Sie benötigen zwei Batch-Dateinamen. Die erste Datei. renlog.bat sollte die folgende Zeile enthalten Der Inhalt von fixx.bat sollte wie folgt lauten: @ echo offfind/i "System 1-Start"% 1 | find /i"system">$$$1.batecho set date = %% 1> Sat.bat Echo set time =% % 2 >> Sat.Batecho eingestellt dd = %% Datum: ~ 0,2 %% >> Sat.Batecho eingestellt mm = %% Datum: ~ 3,3 %% >> Sat.Batecho eingestellt yy = %% Datum: ~ 9,2 %% >> Sat.batecho if %% mm %% # == Jan # set mm = 01 >> Sat.batecho if %% mm %% # == Feb # set mm = 02 >> Sat. batecho if %% mm %% # == Mar # set mm = 03 >> Sat.batecho if %% mm %% # == Apr # set mm = 04 >> Sat.batecho if %% mm %% # == Mai # set mm = 05 >> Sat.batecho wenn %% mm %% # == Jun # set mm = 06 >> Sat.batecho wenn %% mm %% # == Jul # set mm = 07 >> Sat. batecho if %% mm %% # == Aug # set mm = 08 >> Sat.batecho if %% mm %% # == Sep # set mm = 09 >> Sat.batecho if %% mm %% # == Oct # set mm = 10 >> Sat.batecho wenn %% mm %% # == Nov # set mm = 11 >> Sat.batecho wenn %% mm %% # == Dec # set mm = 12 >> Sat. batecho set date = %% yy %%%% mm %%%% dd %% >> Sat.batecho se t hh = %% Zeit: ~ 0,2 %% >> Sat.Batecho eingestellt mm = %% Zeit: ~ 3,2 %% >> Sat.Batecho eingestellt ss = %% Zeit: ~ 6,2 %%> > sat.batecho set time = %% hh %%%% mm %%% ss %% >> sat.batecho set name = %% date %% _ %% time %% _ Alarmlog.log >> sat.batecho if exist %% name %% set name = %% date %% _ %% time %% _ Alarmlog_1.log >> sat.batecho falls exist %% name %% set name = %% date %% _ %% time %% _ Alarmlog_2 .log >> sat.batecho falls vorhanden %% name %% set name = %% date %% _ %% time %% _ Alarmlog_3.log >> sat.batecho falls vorhanden %% name %% set name = %% date% % _ %% time %% _ Alarmlog_4.log >> sat.batecho falls vorhanden %% name %% set name = %% date %% _ %% time %% _ Alarmlog_5.log >> sat.batecho falls vorhanden %% name% % set name = %% date %% _ %% time %% _ Alarmlog_6.log >> sat.batecho falls vorhanden %% name %% set name = %% date %% _ %% time %% _ Alarmlog_7.log >> sat .batecho wenn vorhanden %% name %% set name = %% date %% _ %% time %% _ Alarmlog_8.log >> sat.batecho wenn vorhanden %% name %% set name = %% date %% _ %% time %% _ Alarmlog_9.log >> sat.batecho ren% 1 %% name %% >> sat.batecho set yy = >> sat.batecho set mm = >> sat.batecho set dd = >> sat.batecho set hh = >> sat.batecho set ss = >> sat.batcopy Sat.bat Sun.bat > nulcopy Sat.bat Mo.bat> nulcopy Sat.bat Di.bat> nulcopy Sat.bat Mi.bat> nulcopy Sat.bat Do.bat> nulcopy Sat.bat Fr.bat> nulcall $$$ 1.batdel $$$ 1 .batdel.batplace beide Dateien in dem Verzeichnis, das die umzubenennenden Dateien enthält, und führen Sie renlog.batPlease post back aus, um festzustellen, ob es funktioniert

ok ich habe es gelaufen und hier ist was passiert ist. zusätzlich habe ich ein vorher und ein nachher gemacht, so dass man sehen konnte, dass ein paar zusätzliche Dateien erstellt wurden. Ich habe ein paar zusätzliche Fakten, die hinzugefügt werden können oder auch nicht, aber hier sind sie: 1. - ich habe gelogen (tatsächlich gelogen) ) über die Dateinamen, sie sind eigentlich AlarmLog_001 (eine führende 0 mehr als ich ursprünglich gesagt hatte), aber ich habe sie für meinen Test umbenannt. 2. Es gibt andere Dateien im Verzeichnis, ich habe sie aus dem Verzeichnis für meinen Test entfernt. Sie werden dort eventuell als DataServer_001 bis DataServer_XXX bezeichnet. Für diese Dateien ist keine Aktion erforderlich. 3. Nach einer sorgfältigen Prüfung stellte ich fest, dass zwischen dem Jahr und der Stunde zwei Leerzeichen liegen und dann wieder zwischen dem zweiten und dem System 1-Start. Diesen Leerzeichen habe ich jedoch für meinen Test entfernt und nicht help.Fri 31-Mar-2006 16:57:52 System 1 Startup4th - einige der Dateien haben eine Variation nach dem INLS_, einige sind CF und einige sind LOS. Jede Datei befindet sich jedoch in einem separaten Verzeichnis. Es befinden sich keine CF- und LOS-Dateien im selben Verzeichnis.Wenn dies von Bedeutung ist, können wir einfach eine separate Routine für jede Routine erstellen und eine auf der Grundlage eines bekannten Triggers ausführen. INLS_CF Version 0.38 == Dies beginnt meine Sitzung. == C: xx> dir Das Volume in Laufwerk C lautet WT07_MCC Verzeichnis von C: xx05/05/2006 13:58 PM .05/05/2006 13:58 PM 01/02/2002 07:10 AM 9,814 AlarmLog_00.log01/01/2002 15:07 PM 1,694 AlarmLog_01.log01/05/2002 18:20 PM 252,694 AlarmLog_02.log04/27/2006 12:09 PM 65,546 AlarmLog_03.log05/05/2006 13:53 PM 2,126 fixx.bat05/05/2006 13:53 PM 109 RENLOG.BAT 6 File ( s) 331.983 Bytes 2 Dir (s) 15.076.622.336 Bytes freeC: xx> renlogC: xx> call fixx AlarmLog_00.log # == Jan # war zu diesem Zeitpunkt unerwartet.C: xx> dir Volume in Laufwerk C ist WT07_MCC Volume Die Seriennummer lautet 4CA5-9F13 Verzeichnis von C: xx05/05/2006 13:59 PM .05/05/2006 13:59 PM 05/05/2006 13:59 PM 45 $$$ 1.bat01/02/2002 07 : 10 Uhr 9.814 AlarmLog_00.log01/01/2002 15:07 Uhr 1.694 AlarmLog_01.log01/05/2002 18:20 Uhr 252.694 AlarmLog_02.log04/27/2006 12:09 Uhr 65.546 AlarmLog_03.log05/05/2006 13.53 Uhr 2.126 fixx.bat05/05/2006 13.59 Uhr 1.148 Fr.bat05/05/2006 13.59 Uhr 1.148 Mo.bat05/05/2006 13.53 Uhr 109 RENLOG.BAT05/05/2006 01 : 59 PM 1.148 Sat.bat05/05/2006 13:59 PM 1.148 So.bat05/05/2006 13:59 PM 1.148 Do.bat05/05/2006 13:59 PM 1.148 Di.bat05/05/2006 01:59 PM 1.148 Mi.bat 14 File (s) 340.064 Bytes 2 Dir (s) 15.076.433.920 Bytes freeC: xx> == Damit ist meine Arbeitssitzung beendet ==

Ändern Sie den Inhalt der Dateien nicht. Der Code hängt vom Datum, der Uhrzeit und dem ursprünglichen Standort von "System 1-Start" ab. Ohne Leerzeichen funktioniert der Stapel nicht. Das Umbenennen von Dateien, wie Sie es getan haben, ist erforderlich. Der Batch verarbeitet nur Dateien mit der Erweiterung ".log", wenn dies das Problem nicht behebt. Dies liegt daran, dass CMD in Win 2000 einige der in XPin XP vorhandenen Funktionen nicht bietet. Es ist möglich, ausgewählte Zeichen aus einer bestimmten Umgebungsvariablen in eine neue Umgebungsvariable zu übertragen . für zB. set mm =% date: ~ 0,2% würden "mm" als die ersten 2 Zeichen des Datums enthaltend definieren

Ich verwende Windows XP, aber es ist für Windows 2000 vorgesehen. Aber lassen Sie mich das klarstellen. Ich soll nur die Dateien umbenennen und nichts in ihnen stören. Ich habe dies getan und es hat nicht geholfen. Ich habe es unter XP und 2000 getestet. Ich konnte einfach das gesamte Verzeichnis komprimieren und es anhängen oder an Sie senden. Wenn Sie bereit wären, es sich anzusehen.

gut, schick es mir

Es ist nicht unmöglich, dass Sie in XP arbeiten, nehme ich an (von den Threads) und es gibt viele bessere Skriptwerkzeuge, die Sie verwenden können, wenn Sie sicher sind, dass Sie nicht darauf beschränkt sind, sie zu verwenden, richtig? oder dürfen Sie nur Batch-Programmierung verwenden? Es ist viel einfacher, dies in Perl oder Python (oder anderen Skriptsprachen) zu tun. Hier ist eine in Pythonnot the best, aber sie macht, was Sie wollen, obwohl Sie sie anpassen sollten Wenn Sie it.import os verwenden möchten, gehen Sie wie folgt vor: timedir_where_file_is = os.path.join ("C: ", "directory") os.chdir (dir_where_file_is) umbenannt für fi in os.listdir (dir_where_file_is): f = open (fi) .readlines (). split ('') #gib die zweite Zeile ein, in der "System 1 Startup" angezeigt wird. thedate = f #gleicht die Dateistrukturen an thetime = f #gleicht die Dateistrukturen an year, mth, day = time .strptime (Datum, "% d-% b-% Y"), wenn mth im Bereich (1,9): mth + str (mth) formateddate = "% s% s% s"% (str (year), mth , day) formatedtime = '' .join (thetime.split (":")) os.rename (fi, formatiertes Datum + "_" + formatierte Zeit + umbenannt)

Ich würde nicht wissen, wie man etwas in pyhton ändert. Muss ich zusätzliche Software auf den Computern installieren? Die Grundidee für mich ist, dass ich ungefähr 35 Computer habe, auf denen Windows 2000 ausgeführt wird, und Allen Bradley-Software, die eine fortlaufende Protokolldatei mit Ereignissen und Alarmen erstellt. Ich bin auf einen Memory Stick beschränkt. Ich kann keine Sotware auf den Host-Computern installieren. Ich habe eine Batch-Datei verwendet, da ich an dieser Stelle angefangen habe, als ich nur die Alarmdateien vom Computer kopieren wollte Ich benenne mich um und einige andere Dinge, die ich vielleicht woanders suchen sollte? Was denkt jemand darüber?

Ich bin auch einmal ein Windows-Administrator und muss Batch-Dateien schreiben, um meine Arbeit zu erledigen. Da ich immer mehr Batch-Dateien schreibe, benötige ich mehr Skript-Möglichkeiten wie Text-/String-Manipulationen, Datumsmanipulationen, Arrays usw., weshalb ich Python anstelle von Batch als Skript-Wahl gewählt habe. Ich sage nicht, dass die Windows-Batchprogrammierung diesen Job nicht ausführen kann, aber es wird einige Zeit dauern, bis Sie herausgefunden haben, wie Sie in diesem Fall das tun, was Sie möchten. Ja, Sie müssen den Python-Interpreter installieren. Genau wie zum Beispiel, wenn Sie in Java programmieren möchten, müssen Sie die Java-Laufzeit installieren. Wenn Sie wirklich keine Software installieren können, müssen Sie sich möglicherweise wirklich an den Batch halten. Tut mir leid, ich kann dir nicht wirklich helfen, da ich keinen Batch gemacht habe, da ich Pythonhope DOSman verwendet habe. Andere können dir dabei helfen. Viel Glück

Ist dies behoben? Wenn ja, dann schlagen die Forenregeln vor, das Ergebnis hier zu veröffentlichen, damit jeder davon profitieren kann. Es gibt auch DOS-Typen, die immer eine Lösung verbessern möchten. Dh: Sie können die Monatszeichenfolge einfach in eine zweistellige Zahl umwandeln, indem Sie die folgenden 3 Zeilen verwenden: Code: SET mon = MaiSET map = Jan-01; Feb-02; Mar-03; Apr-04; Mai-05; Jun- 06; Jul-07; Aug-08; Sep-09; Okt-10; Nov-11; Dez-12CALL SET Mon = %% Map:% Mon% - = %% SET Mon =% Mon:; = & Rem.% ECHO.% Mon %% mon% wird sein 05 .

Maus-Mühe

Ich muss mehrmals mit der Maus klicken, bevor eine Aktion ausgeführt wird. Ist das eine schlechte Maus oder der Computer? Danke für jede Hilfe

Haben Sie die Maus auf einem anderen Computer ausprobiert?

Kommt es nur auf einem bestimmten Link/Button vor oder 'Verzögerung' im Allgemeinen?

Es bleibt im Allgemeinen hängen, ich muss weiter auf etwas klicken, damit es funktioniert. Wenn ich versuche, über einen Bereich zu ziehen, um ihn zum Drucken auszuwählen, wird das Ziehen nicht ausgeführt.

Wenn es sich um eine Rollermaus handelt, öffnen Sie sie, reinigen Sie die Kugel und die Anschlüsse mit Alkohol.

Kaufe eine neue Maus.

Nicht unbedingt. Wenn es sich um eine Funkmaus handelt, kann das Funksignal durch eine Störung beeinträchtigt werden.

Schöner Fang

Versuchen Sie es mit Ihrer Maus auf einem anderen Computer, wenn das gleiche Problem vorliegt, dann mit einer fehlerhaften Maus. Versuchen Sie es mit einer anderen Maus auf Ihrem Computer, wenn das gleiche Problem vorliegt, dann mit einem fehlerhaften Computer.

Erste Sache. Welches Betriebssystem hast du ??? Wenn es XP ist. Starten Sie Ihren PC im abgesicherten Modus mit Netzwerk und überprüfen Sie, ob er dort funktioniert, indem Sie auf die Aktionen klicken, die Sie im normalen Modus ausgeführt haben. Wenn es funktioniert, ist es der Treiber. Wechseln Sie zum Geräte-Manager, suchen Sie nach Ihrer Maus, deinstallieren Sie sie und starten Sie den Computer neu. In den meisten Fällen installiert XP die Treiber für Sie. wenn du wieder probleme hast. Sie sollten trotzdem den Treiber haben, der mit Ihrer Maus geliefert wurde. Installieren Sie es, wenn Sie immer noch ein Problem haben. Aktualisieren Sie den Maustreiber. Warum sollten Sie eine neue kaufen? Dies ist möglicherweise kein Hardwareproblem. Der Grund, warum ich gesagt habe, dass Sie beim Networking im Sicherheitsmodus bleiben, ist, dass Sie nie gesagt haben, auf was Sie geklickt haben. Stellen Sie sicher, dass die Maus mit Ihrem OSSpider kompatibel ist. Lassen Sie uns kennt!

Ihr seid großartig, tut mir leid, ich habe euch keine weiteren Informationen gegeben, ich habe Aussicht, es ist eine optische Maus, nicht schnurlos. Ich versuche das Update, wenn das nicht funktioniert, kaufe ich vielleicht ein neues. Ich schätze die Hilfe aller, dies ist ein großartiger Ort, um mit Menschen zu interagieren und zu lernen.

Überprüfen Sie vor dem Kauf eines neuen Computers, ob dieser auf einem anderen Computer funktioniert.

Beliebte Beiträge