Powershell - Powershell script aus cmd aufrufen

herrtaler
Goto Top

Bekomme Fehlermeldung, wenn ich Powershell-script aus cmd aufrufen möchte

Wenn ich mein Powershell-script aus einem Powershell-Fenster aufrufe läuft mein Script ohne Probleme. Wenn ich hingegen den gleichen Aufruf aus einem CMD Fenster tätige bekomme ich folgende Fehlermeldung.

c:\windows und 3 sind Parameter, die ich an das Script übegebe. In dem Script mache ich ein
"get-item $verzeichnis > $fileNew" und durchsuche es mit einem select-string. ($verzeichnis entspricht c:\windows)

Wenn ich nicht c:\windows nehme sondern z.B. temp geht der aufruf. Es scheint also nur an der Anzahl der Zeichen zu liegen.


c:\windows un die 3 sind Parameter die ich übergebe


Fehlermeldung:

Content-Key: 172213

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

Ausgedruckt am: 29.06.2022 um 05:06 Uhr

Mitglied: 0cool
0cool 29.08.2011 um 19:20:59 Uhr
Goto Top
Hallo HerrTaler:

was macht der " * " bei deinen Parametern?
Normaler weise ist der Stern eine Wildcard.

Gruß

0cool
Mitglied: HerrTaler
HerrTaler 30.08.2011 um 09:19:44 Uhr
Goto Top
Der "*" gehört zu der Zeichenkette, die ich übergebe und wird später auch als wildcard genutzt. Das ist auch nicht das Problem. Mich wundert einfach, dass es scheinbar einen Unterschied gibt, ob ich aus einem cmd den Aufruf (powershell.exe test.ps1 c:\temp\test7.ps1 c:\windows\* 3) starte oder aus einem Powershell Fenster (./test.ps1)
Mitglied: 0cool
0cool 30.08.2011 um 13:16:04 Uhr
Goto Top
Hallo HerrTaler,

jetzt hab ich das problem gesehen.

Ich Aufruf ist: powershell.exe test.ps1 c:\temp\test7.ps1 c:\windows\* 3

Der richtige Aufruf wäre powershell.exe c:\temp\test7.ps1 c:\windows\* 3 (ungetestet)

Bei Ihrem Aufruf haben Sie einmal zuviel das Script angegeben und das wäre an der Zweiten stelle

Syntax:

Gruß

0cool
Mitglied: HerrTaler
HerrTaler 30.08.2011 um 14:25:01 Uhr
Goto Top
Sorry ich war zu dämlich den Aufruf richtig ins Forum einzustellen.

im cmd:

c:\temp> powershell ./test.ps1 c:\windows

im powershell:

PS C:\temp> powershell ./test1.ps1 c:\windows\*

c:\temp> bzw PS c:\temp> ist der Prompt (Der Aufruf ist also genau gleich)


Unten ist der Programmteil, welches das Problem verursacht. Das Problem tritt auch nur auf bei Verzeichnissen mit "vielen" Unterverzeichnissen ("viele" das ist bei mir schon das Windows-Verzeichnis). Ich habe mein script inzwischen anders gelöst, aber die Ursache würde mich trotzdem interessieren.

Mitglied: 0cool
0cool 30.08.2011 um 14:44:21 Uhr
Goto Top
HerrTaler: Sorry da muss ich passen, so weit kenn ich mich mit der PowerShell nicht aus. Da müssen andere Leute dran.

Viel Erfolg

0cool
Mitglied: 0cool
0cool 30.08.2011 um 14:50:06 Uhr
Goto Top
HerrTaler: Sorry da muss ich passen, so weit kenn ich mich mit der PowerShell nicht aus. Da müssen andere Leute dran.

Viel Erfolg

0cool