2017-11-28 2 views
0

Ich möchte einen Powershell-Befehl von c (gcc) ausführen, und mir wurde gesagt, dass ich die system()-Funktion verwenden soll. Das gleiche passiert auch im Vakuum (nichts anderes im Programm). Ich benutze Windows. Was ich tun möchte, ist Invoke-Item. Was soll ich machen?C-Systemfunktion gibt zurück sh: Invoke-Item-Befehl nicht gefunden

+2

Was meinst du in einem Vakuum? Sie führen es von der Eingabeaufforderung aus? – roelofs

+1

Können Sie detailliertere Informationen zu dem, was Sie versuchen, und der Umgebung, in der Sie es versuchen, angeben? – roelofs

+0

Beachten Sie auch, dass 'cls' komplett nicht portabel ist. Ich würde es abraten, es über einen 'system()' Anruf von innerhalb von C anzurufen. Das heißt nicht, dass Sie nicht können, Sie können, seine Verwendung ist ein bisschen nebulös. –

Antwort

0

Zum Ausführen von Powershell-Befehle mit system() Funktion, müssen Sie so etwas wie dies tun:

system("powershell -Command \"<your-command-here>\""); 

AFAIK, Prompt die Standard-Shell unter Windows ist Befehl. PowerShell ist eine weitere Shell, und Sie müssen sie zuerst aufrufen, um darin Befehle auszuführen.

Beispiel (Lauf dir Befehl):

Mit Eingabeaufforderung:

> PowerShell.exe -Command "dir" 

Mit Linux Terminal:

$ powershell -Command "dir" 

also der obige Befehl Format sollte auch für Ihren Fall arbeiten dh :

system("PowerShell.exe -Command \"Invoke-Item ...\""); 
Verwandte Themen