meisterkunglao
Goto Top

Folgenden Powershell Befehl in Batch ausführen geht nicht

Hey Leute, hat einer eine Idee, warum der Befehl:

Get-ChildItem 'd:\ordner' -File -Filter *.lnk | select -First 10 | Get-Random -Count 10 | %{Start-Process $_.Fullname}      
innerhalb von Powershell problemlos funktioniert, aber wenn ich ihn in einer Batch ausführen möchte, geht es nicht:

powershell -ExecutionPolicy ByPass -Command "Get-ChildItem 'd:\ordner' -File -Filter *.lnk | select -First 10 | Get-Random -Count 10 | %{Start-Process $_.Fullname}"  

Content-ID: 61107297113

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

Ausgedruckt am: 24.11.2024 um 03:11 Uhr

13034433319
Lösung 13034433319 10.06.2024 aktualisiert um 20:53:01 Uhr
Goto Top
Tipp: Prozentzeichen bezeichnen Variablen in Batch....
powershell -ExecutionPolicy ByPass -Command "Get-ChildItem 'd:\ordner' -File -Filter *.lnk | select -First 10 | Get-Random -Count 10 | %%{Start-Process $_.Fullname}"    
Batch Escape Characters

Oder halt kein Alias nehmen
powershell -ExecutionPolicy ByPass -Command "Get-ChildItem 'd:\ordner' -File -Filter *.lnk | select -First 10 | Get-Random -Count 10 | foreach-object {Start-Process $_.Fullname}"    
MeisterKungLao
MeisterKungLao 11.06.2024 um 00:36:16 Uhr
Goto Top
Mega danke dir jetzt klappts!
ThePinky777
ThePinky777 11.06.2024 aktualisiert um 18:11:16 Uhr
Goto Top
Oder, Powershellbefehle immer in PS1 Datei (Powershell Script) speichern, und dann per Batch die PS1 Datei ausführen,
dann hat man ne klare trennung der Script sprachen.

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -executionpolicy Unrestricted -File "C:\PowerShellScript.ps1"