Hướng dẫn how do i run multiple powershell commands in python? - làm cách nào để chạy nhiều lệnh powershell trong python?

import subprocess

command = r'C:\Windows\system32\windowspowershell\v1.0\powershell.exe -noe -c ". \"C:\Program Files\VMware\VMware View\Server\extras\PowerShell\add-snapin.ps1\""'
command2 = 'Get-PoolEntitlement -pool_id gameserver2 | Remove-
PoolEntitlement'
output = subprocess.getoutput[command]
output = subprocess.getoutput[command2]
print[output]

Tôi đã chạy nhiều lệnh liên quan. Nhưng tôi không

error:

'Get-PoolEntitlement' is not recognized as an internal or external command,

chương trình có thể hoạt động hoặc tập tin hàng loạt.

Đã hỏi ngày 21 tháng 2 năm 2018 lúc 0:24Feb 21, 2018 at 0:24

Nếu bạn cần thực thi nhiều lệnh CMD cùng một lúc, bạn có thể đặt '&&' giữa chúng.

Ví dụ: cả hai sẽ điều hướng đến thư mục tài liệu và khởi động lời nhắc lệnh mới, hy vọng điều này sẽ giúp

Đã trả lời ngày 21 tháng 2 năm 2018 lúc 0:57Feb 21, 2018 at 0:57

PhonziphonziPhonzi

1344 Huy hiệu bạc9 Huy hiệu đồng4 silver badges9 bronze badges

Trong lệnh đầu tiên của bạn, bạn đang gọi PowerShell:

command = r'C:\Windows\system32\windowspowershell\v1.0\powershell.exe -noe -c ". \"C:\Program Files\VMware\VMware View\Server\extras\PowerShell\add-snapin.ps1\""'

Trong lần thứ hai bạn không!

command2 = 'Get-PoolEntitlement -pool_id gameserver2 | Remove-PoolEntitlement'

Vì vậy, bạn chỉ cần sửa nó như:

command2 = r'C:\Windows\system32\windowspowershell\v1.0\powershell.exe -noe -c "Get-PoolEntitlement -pool_id gameserver2 | Remove-PoolEntitlement"'

Đã trả lời ngày 21 tháng 2 năm 2018 lúc 4:47Feb 21, 2018 at 4:47

Gveegveegvee

16.4K32 Huy hiệu bạc48 Huy hiệu đồng32 silver badges48 bronze badges

Bỏ qua nội dung

Tôi có một thí nghiệm mà tôi đang làm việc và nghĩ rằng việc tận dụng Python sẽ rất vui. Là một phần của thí nghiệm đó, tôi sẽ cần thực hiện PowerShell từ Python vì chỉ có các cmdlet PowerShell mới có sẵn để làm những gì tôi cần. Sau một chút nghiên cứu một tuần để cho nó sôi, tôi đã có thể ngồi xuống đêm qua và giải quyết nó. Một phần của nó là sự không quen thuộc của tôi với Python cho những gì tôi đang làm, và phần khác chỉ là tôi không nghĩ về vấn đề này một cách toàn diện.

Những gì bạn cần

Bạn sẽ cần PowerShell được cài đặt trên hệ thống của bạn và Python 3.6+. Điều này sẽ làm việc đa nền tảng. Tôi đã thực hiện thử nghiệm của mình trên Kubuntu 20.10 Chạy PowerShell dưới dạng gói SNAP. Bạn sẽ không cần bất kỳ thư viện bên ngoài nào vì chúng tôi sử dụng một trong nhiều thư viện tuyệt vời gửi ra khỏi hộp với Python.

Mật mã

Tất cả những gì chúng ta cần là tạo một cuộc gọi tệp Ps.Py, và sau đó chúng ta có thể nhập mô -đun phụ.

Bây giờ chúng ta có thể tạo phương thức chạy mà chúng ta sẽ sử dụng để thực hiện lệnh PowerShell của mình.

def run[self, cmd]:
    completed = subprocess.run[["powershell", "-Command", cmd], capture_output=True]
    return completed

Hãy để thực hiện tệp Python của chúng tôi và sau đó tạo các lệnh mà chúng tôi muốn thực thi. Một lệnh có cú pháp chính xác và một lệnh có cú pháp xấu. Điều này sẽ chứng minh cách sử dụng return của phương thức phụ.

if __name__ == '__main__':
    hello_command = "Write-Host 'Hello Wolrd!'"
    hello_info = run[hello_command]
    if hello_info.returncode != 0:
        print["An error occured: %s", hello_info.stderr]
    else:
        print["Hello command executed successfully!"]
    
    print["-------------------------"]
    
    bad_syntax_command = "Write-Hst 'Incorrect syntax command!'"
    bad_syntax_info = run[bad_syntax_command]
    if bad_syntax_info.returncode != 0:
        print["An error occured: %s", bad_syntax_info.stderr]
    else:
        print["Bad syntax command executed successfully!"]

Đây là tập tin hoàn chỉnh.

import subprocess


def run[self, cmd]:
    completed = subprocess.run[["powershell", "-Command", cmd], capture_output=True]
    return completed


if __name__ == '__main__':
    hello_command = "Write-Host 'Hello Wolrd!'"
    hello_info = run[hello_command]
    if hello_info.returncode != 0:
        print["An error occured: %s", hello_info.stderr]
    else:
        print["Hello command executed successfully!"]
    
    print["-------------------------"]
    
    bad_syntax_command = "Write-Hst 'Incorrect syntax command!'"
    bad_syntax_info = run[bad_syntax_command]
    if bad_syntax_info.returncode != 0:
        print["An error occured: %s", bad_syntax_info.stderr]
    else:
        print["Bad syntax command executed successfully!"]

Thực hiện Ps.Py và chúng ta có thể thấy đầu ra. Lệnh đầu tiên đã không thành công và trả lại một mã thoát bằng 0 và chúng tôi in nó đã chạy thành công. Lệnh thứ hai có một lỗi đánh máy và chúng tôi nhận được mã thoát của một cái mà sau đó chúng tôi in lỗi xuất phát từ lỗi tiêu chuẩn.

$ python ps.py
Hello command executed successfully!
-------------------------
An error occurred: %s b"\x1b[91mWrite-Hst: \x1b[91mThe term 'Write-Hst' is not recognized as the name of a cmdlet, function, script file, or operable program.\nCheck the spelling of the name, or if a path was included, verify that the path is correct and try again.\x1b[0m\n"

Sự kết luận

Đó là nó, bây giờ bạn có thể cảm thấy thoải mái khi xây dựng bất kỳ loại lệnh nào mà bạn muốn được thực thi, thậm chí các lệnh đa dòng và nó sẽ hoạt động.

Cảm ơn vì đã đọc,

Jamie

Nếu bạn thích nội dung thì hãy xem xét mua cho tôi một ly cà phê.

Làm cách nào để chạy nhiều lệnh PowerShell?

Các lệnh có thể nằm trong một lời mời PowerShell bằng cách sử dụng dấu chấm phẩy ở cuối mỗi dòng. Bạn chỉ cần một lần thực hiện PowerShell và nhiều lệnh được truyền cho nó.using a SEMICOLON at the end of each line. You need just one execution of PowerShell, and multiple commands passed to it.

Bạn có thể chạy các lệnh PowerShell trong Python không?

Có thể chạy PowerShell từ bên trong Python bằng cách sử dụng quy trình con.run [] và chỉ định đường dẫn PowerShell.exe.Tạo một GUI sử dụng Tkinter trong Python rất dễ dàng, nhưng các đồng phụ thuộc nên được quản lý. run[] and specifying the powershell.exe path. Creating a GUI using tkinter in Python is surprisingly easy, but the co-dependencies should be managed.

Làm cách nào để chạy nhiều tập lệnh PowerShell cùng một lúc?

Để thực thi nhiều lệnh trong Windows PowerShell [ngôn ngữ kịch bản của Microsoft Windows], chỉ cần sử dụng dấu chấm phẩy.use a semicolon.

Làm thế nào để bạn gọi một kịch bản PowerShell trong Python?

Làm cách nào để chạy một kịch bản PowerShell ?..
Duyệt đến vị trí bạn lưu trữ tệp PS1 trong File Explorer và chọn;Tệp-> Mở Windows PowerShell ..
Loại [một phần của] tên của tập lệnh ..
Nhấn tab để tự động hoàn thành sau đó tên.Lưu ý: Làm điều này ngay cả khi bạn đã nhập tên đầy đủ ..
Nhấn Enter để thực thi tập lệnh ..

Bài Viết Liên Quan

Chủ Đề