nephris
Goto Top

Batch: Pfadangabe in Datei ändern

Ich musste mich bislang nur sehr rudimentär mit batch beschäftigen.
Nun komme gelange ich deutlich an meine Grenze, und frage mich ob es mit Batch überhaupt zu lösen ist.
Ich möchte eine Pfadangabe innerhalb einer eventlog.lst ändern und unter selben Namen wieder abspeichern (eventlog.lst).

Folgend sieht diese Datei aus:

[Feb 23, 2015 7:16:52 PM] Mission: FBDj/Krim1944194404230.mis is Playing
[7:16:52 PM] Mission BEGIN
[7:16:57 PM] 100100_Static destroyed by 100070_Static at 110800.0 88817.0
[7:17:01 PM] 100240_Static destroyed by 161_Static at 159701.0 114711.0
[7:17:02 PM] 100290_Static destroyed by 100300_Static at 147410.0 133171.0
[7:17:02 PM] 100080_Static destroyed by 100070_Static at 110783.0 88834.0
[7:17:14 PM] 100120_Static destroyed by 100090_Static at 110826.0 88792.0
[7:17:16 PM] 226_Chief2 destroyed by 105_Chief0 at 110506.27 87943.055
[7:17:21 PM] 100060_Static destroyed by 229_Static at 108739.0 85995.0
[7:17:26 PM] 108_Chief0 destroyed by 0_Chief1 at 159655.28 114702.97
[7:17:26 PM] 208_Chief2 destroyed by 225_Chief2 at 110496.2 87918.516
[7:17:29 PM] 20_Chief2 destroyed by 41_Chief0 at 194469.97 72304.49
[7:17:48 PM] 40_Chief0 destroyed by 161_Static at 159779.55 114698.48
[7:18:02 PM] 226_Chief0 destroyed by 100130_Static at 110502.66 88023.15
[7:18:04 PM] 100070_Static destroyed by 223_Chief0 at 111043.0 89147.0
[7:18:09 PM] 100270_Static destroyed by 100320_Static at 147393.0 133154.0
[7:18:10 PM] 642_Static destroyed by 228_Static at 108296.73 86007.94



Der Pfad
Mission: FBDj/Krim1944194404230.mis


soll in

Mission: net/dogfight/DCG/Krim1944194404230.mis


geändert werden. Wobei sich die Variable "Krim1944194404230.mis" chronologisch ändert (Krim1944194404230.mis / Krim1944194404240.mis / Krim1944194404250.mis etc....)
Wichtig ist also nur der Pfad anscih zum Ordner.

Läßt sich das mit Batch überhaupt bewerkstelligen?

Content-Key: 264674

Url: https://administrator.de/contentid/264674

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: 114757
Lösung 114757 27.02.2015 aktualisiert um 20:06:28 Uhr
Goto Top
powershell -Executionpolicy ByPass -command "&{(gc 'c:\eventlog.lst') -replace 'Mission: FBDj','Mission: net/dogfight/DCG' | out-file 'c:\eventlog.lst'}"  
Gruß jodel32
Mitglied: Nephris
Nephris 27.02.2015 um 16:23:36 Uhr
Goto Top
Hallo Jodel,
danke für deine Hilfe.
Leider klappt es noch nciht ganz.

Um Mißverständnisse vorzubeugen, den code habe ich in eine batch gesetzt, die eventlog in c:\ gelegt und die batch ausgeführt.
Der Pad wurde im Eintrag leider nicht geändert, die Meldung im Dos Fenster ist so schnell durch gerattert, dass ich nichts lesen konnte, eine rote Meldung ist mir aufgefallen, ich suggeriere mal eine Fehlermeldung?
Mitglied: 114757
114757 27.02.2015 aktualisiert um 18:18:12 Uhr
Goto Top
Zitat von @Nephris:
die Meldung im Dos Fenster ist so schnell durch gerattert, dass ich nichts
lesen konnte, eine rote Meldung ist mir aufgefallen, ich suggeriere mal eine Fehlermeldung?
Wenn du noch nie mit Powershell gearbeitet hast musst du die Executionpolicy einmalig freischalten.
In einer administrativen Powershell-Konsole folgendes ausführen
Set-Executionpolicy RemoteSigned

Dann klappt auch der Aufruf aus einer Batch mit obigem Befehl face-wink Alternativ die Batch mit administrativen Rechten starten, dann klappts auch.

Gruß jodel32
Mitglied: Nephris
Nephris 27.02.2015 um 19:08:45 Uhr
Goto Top
Irgendwas stimmt mit der Konfiguration von PS nicht wirklich.
Wenn ich

Set-Executionpolicy RemoteSigned

als Adminitrator ausführe bekomme ich eine Meldung in rot über

Set-Executionpolicy : Die Ausführungsrichtlinien wurden von Win Powershell erfolgreich aktualisiert, die Einstellung wird jedoch von einer ineinem spez. Bereich definierten Richtlinie überschireben Aufgrund der Überschreibung wird die aktuelle geltende Richtlinie "Unrestricted" für die shell beibehlaten

Das Skript läuft nicht. Im Editor für lokale Gruppenrichtlinien habe ic hdann versucht die Skriptausführung auf Lokale und remote signierte Skripts zu zulassen,
ändert aber nichts.
Mitglied: 114757
114757 27.02.2015 aktualisiert um 19:49:39 Uhr
Goto Top
http://bent-blog.de/powershell-set-executionpolicy-erzeugt-fehler-permi ...

Script läuft aber einwandfrei, wenn denn deine Powershell laufen würde !!!.... Was Ihr da gefummelt habt kann ich leider in meiner Glaskugel nicht sehen ... Firmen-GPO ?
Mitglied: Nephris
Nephris 27.02.2015 um 20:06:11 Uhr
Goto Top
Entschuldige bitte,
ich wollte nicht das Script in Abrede stellen.
Das der Fehler in der Konfiguration meiner PS liegt, dessen bin ich mir sicher.

Es handlet sich um ein privates Win7 64bit System.
Soweit aber erstmal danke. Das Thema der Konfiguration der PS gehört hier sicher nicht her.