Как вывести результаты команды Windows cmd в переменную
В Windows cmd есть различные команды, которые позволяют нам выполнять разнообразные операции в командной строке. Однако, иногда нам необходимо сохранить результат выполнения команды в переменную, чтобы использовать его в дальнейшем в нашем скрипте или программе.
Перед тем, как мы начнем, вам может потребоваться установить и настроить программу PowerShell, чтобы использовать некоторые из предлагаемых вариантов.
Каждый из этих способов имеет свои преимущества и недостатки, и выбор зависит от конкретной ситуации. Важно учитывать, что при выборе способа необходимо обеспечить безопасность и предусмотреть возможность обработки ошибок, связанных с выполнением команды.
set /p variable_name=“команда”
set /p output=dir
После выполнения данной команды, результат выполнения команды «dir» будет сохранен в переменную «output». Теперь вы можете использовать эту переменную в дальнейшем коде.
dir > output.txt
set /p output=< output.txt
echo %output%
(Get-Process) > $processes
Get-Process | Out-String -Variable processes
Например, предположим, что нам нужно сохранить список файлов в определенной папке в переменную. Мы можем использовать следующую команду:
for /f "delims=" %%f in ('dir /b "путь_к_папке"') do set files=%%f
Теперь переменная «files» содержит список файлов из указанной папки, и мы можем использовать ее в дальнейших действиях своего сценария или скрипта.
import subprocess
def get_cmd_output(cmd):
result = subprocess.run(cmd, capture_output=True, text=True)
output = result.stdout.strip()
return output
# Пример использования
cmd_output = get_cmd_output('dir')
print(cmd_output)
Set objShell = CreateObject("WScript.Shell")
cmdOutput = objShell.Exec("dir").StdOut.ReadAll()
' Пример использования
WScript.Echo cmdOutput
set output="ipconfig" | cmd /q /c "set /p output=&set output=!output!&echo.!output!"
ipconfig > output.txt
set /p output=<output.txt