pinkfluffyunicorn
Goto Top

Powershell bezeichnungen in .txt voll ausschreiben

Hi Community!
Ich habe das Problem, dass ich alle Scheudules die auf meinem pc vorhanden sind (egal ob laufend, bereit, oder deaktiviert) in einer txt zwischen speicher, um sie als log und Prüfdatei zu verwende. nun habe ich das Problem, dass bei den Namen der Scheudler die zu lange sind einfach der hintere Teil abgeschnitten wird. wie kann ich machen dass der Komplette Name ausgeschrieben wird? als weitere Details benötige ich eigentlich nur die standard Details wie TaskPath und Status,

Content-Key: 296315

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

Printed on: April 25, 2024 at 18:04 o'clock

Mitglied: 126919
126919 Feb 15, 2016 at 14:33:35 (UTC)
Goto Top
Stichwort: -AutoSize bzw. -Wrap bei format-table

bzw. -Expand bei Select-Object

fk
Member: colinardo
Solution colinardo Feb 15, 2016 updated at 15:35:50 (UTC)
Goto Top
Hi.
zum Ausgeben am einfachsten eine CSV nehmen
Get-ScheduledTask | select Taskname,State | export-csv 'C:\schedules.csv' -Delimiter ";" -Encoding UTF8 -NoType
Denn diese lässt sich einfach wieder in ein Objekt wandeln wenn es erforderlich ist (import-csv)

Oder auch:
Get-ScheduledTask | ft -AutoSize -Wrap Taskname,State | set-content 'C:\schedules.txt'
oder nur die Tasknamen
Get-ScheduledTask | select -Expand Taskname | set-content 'C:\schedules.txt'
usw. und sofort. gibt Möglichkeiten en masse face-smile

Grüße Uwe
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 15, 2016 at 18:19:07 (UTC)
Goto Top
Danke, genau nach sowas hab ich gesucht. aber weswegen geht das über >>"C:\blabla\TXT.txt" nicht?
Member: colinardo
Solution colinardo Feb 15, 2016 updated at 18:53:19 (UTC)
Goto Top
Zitat von @PinkFLuffyUnicorn:

Danke, genau nach sowas hab ich gesucht. aber weswegen geht das über >>"C:\blabla\TXT.txt" nicht?
Das ist alte DOS-Manier und sollte man sich unter Powershell langsam abgewöhnen, denn nicht jeder Befehl in der Pipe gibt Daten in STDOUT weiter da es sich hier vielfach um Objekte statt um einfachen Text handelt.

Dafür gibt es ja die cmdlets wie Set-Content , out-file, add-content etc. pp.
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 15, 2016 at 18:32:33 (UTC)
Goto Top
Okay also einfach nur veraltete sprache, gutgut
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 15, 2016 at 18:53:22 (UTC)
Goto Top
Könntest du mir sagen wie ich spalte B und C nachträglich löschen kann?
Member: colinardo
colinardo Feb 15, 2016 updated at 19:00:37 (UTC)
Goto Top
Och Mensch heute ist hier aber echt der Wurm drin. Welche Spalten von welchem Code den bitteschön ??? Wenn die TOs sich hier mal so viel Mühe geben würden wie wir Antwortenden, dann müssten wir nicht ständig unsere Glaskugeln polieren. face-sad

Definiere dein Ziel und deine Parameter klar und unmissverständlich, dann kann man dir vernünftig helfen! Danke.
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 15, 2016 at 19:02:53 (UTC)
Goto Top
machen wir's einfacher, es reicht wenn ich einfach die \ in der datei löschen kann. "\" und '\' geht nicht ( (gc "C:\Users\Chris\Desktop\Taskkill\Schedules.csv") -replace ,'\' | set-content "C:\Users\Chris\Desktop\Taskkill\Schedules.csv" ) wie muss ich den \ eingeben um ihn zu löschen?
Member: colinardo
colinardo Feb 15, 2016, updated at May 29, 2019 at 10:14:04 (UTC)
Goto Top
-replace nutzt RegularExpressions! Deswegen musst du deinen Backslash "escapen" weil dieser selbst das Escape-Sonderzeichen in Regular Expressions ist
Also
-replace '\\',''

Bitte mal lesen:
Regular Expressions Tutorial
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 15, 2016 at 19:12:45 (UTC)
Goto Top
entweder hab ich was verstellt oder mein pc raff die zeichengebung net, das nimmt er nämlich auch nicht an hatte ich auch schon probiert
Member: colinardo
colinardo Feb 15, 2016 updated at 19:32:39 (UTC)
Goto Top
Typische Anfängerfehler, schau dir mal deinen Code oben an, da fehlt der String durch den der gesuchte ersetzt wird !!
((gc 'C:\Users\Chris\Desktop\Taskkill\Schedules.csv') -replace '\\','') | set-content 'C:\Users\Chris\Desktop\Taskkill\Schedules.csv'  
Der Grund warum du das replacen machst ist mir aber immer noch nicht klar, das ist wahrscheinlich deinem Kenntnisstand von Powershell geschuldet. Also begebe dich zurück auf los und nehme nochmal die Grundlagen Powershell durch.
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 16, 2016 at 13:11:52 (UTC)
Goto Top
Passiert trzdm nichts 0.o
Member: PinkFLuffyUnicorn
PinkFLuffyUnicorn Feb 16, 2016 at 13:12:26 (UTC)
Goto Top
Möchte die reinen namen als logdatei und die störenden zeichen entfernen
Member: Biber
Biber Feb 16, 2016 updated at 13:33:04 (UTC)
Goto Top
Moin PinkFLuffyUnicorn,

wer soll und vor allem wer will denn mit deinen zwei, drei letzten Kommentaren (oder sind das diese neumodischen "Tweets"??) etwas anfangen?

Nicht altersgerecht, egal wie jung du bist, sind Befindlichkeiten wie
Passiert trzdm nichts 0.o
DAS ist keine Fehlermeldung!
Auch nicht unter pinkigen Einhörnern, da wette ich.

Meine Intention und der Anlass zum Einschreiten hier ist:
Es ist nicht im Interesse dieses Forums, wenn Flachkoepper und/oder colinardo wegen auf Dauer nerviger Soll-ich-dem-Noob-denn-für-alles-eine-Zeichnung-machen?-Situationen in die Kneipe oder die Klapse getrieben werden.

Oder, um colinardo zu zitieren, falls das für dich freundlicher klingt:
Definiere dein Ziel und deine Parameter klar und unmissverständlich, dann kann man dir vernünftig helfen! Danke.

Grüße
Biber

P.S. Das war meine freundliche Seite. Kann dir auch auf Wunsch den Rest zeigen.
Member: colinardo
colinardo Feb 16, 2016 updated at 15:50:46 (UTC)
Goto Top
Zitat von @PinkFLuffyUnicorn:
Möchte die reinen namen als logdatei und die störenden zeichen entfernen
Hatte ich dir doch schon extra eine Zeile dafür oben gepostet, die enthält 100% nur die Namen der Tasks.
Get-ScheduledTask | select -Expand Taskname | set-content 'C:\schedules.txt'  

Ein Minimum an Lernbereitschaft setzen wir hier schon voraus. Ansonsten bist du im falschen Forum.

@Biber Du sprichst einem aus der Seele face-wink Danke.