Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15

Как запустить консоль powershell и затем сохранить выходную строку в массив?

16.12.2021, 07:14. Показов 4396. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В винде делается руками так:
1. win+R - "powershell" (вызывается консоль powershell)
2. "$wc = new-object System.Net.WebClient" (1 строку пишем)
3. "$wc.DownloadString("http://myexternalip.com/raw")" (2 строку пишем)
Результат - внешний ip-адрес интернета: 94.125.243.53.

Мне нужно сохранить только ip-адрес как строку и дальше с ним работать. Консоль мне по сути совсем не нужна и даже лучше, если бы окно консоли не открывалось совсем. Нужен только IP.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2021, 07:14
Ответы с готовыми решениями:

Как запустить командную строку так, чтобы она затем запустила другую команду?
Например, я хочу по щелчку на пункте контекстного меню запускать командную строку, из которой потом запустится сразу другая команда, нечто...

Как сохранить массив с типом "структура" в файл, а затем читать из него?
Добрый день, дорогие форумчане. Помогите разобраться. Есть вот это: ' Здесть я объявляю пользовательскую структуру Public Structure...

Запустить PowerShell-скрипт как службу
Есть скрипт, он находит некоторый процесс (он в кол. 4 штук) и разбрасывает каждый процесс на каждое ядро. Итого каждый процесс выполняется...

44
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.12.2021, 12:51  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от drfaust Посмотреть сообщение
содержимое странички гугла
Мне нужно чтоб внешний ip выдало, зачем мне гуглы.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,801
Записей в блоге: 1
18.12.2021, 12:54
О боже. Ну так измени строку "google.com" на свой "http://myexternalip.com/raw" и всё...
1
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.12.2021, 13:00  [ТС]
да я же говорю что в этом не понимаю ничего. Все работает вроде.
Осталось string заменить, но это вроде сумею.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,801
Записей в блоге: 1
18.12.2021, 13:59
Лучший ответ Сообщение было отмечено мама Стифлера как решение

Решение

Так перевести на чистый Си надо? или пусть отстаюётся на С++?

Добавлено через 10 минут
Цитата Сообщение от мама Стифлера Посмотреть сообщение
да я же говорю что в этом не понимаю ничего.
Вот готовый вариант на Си:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//подключаем необходимые заголовочные файлы
#include <string.h>
#include <stdio.h>
#include <curl/curl.h>
//объявляем буфер, для хранения возможной ошибки, размер определяется в самой библиотеке
static char errorBuffer[CURL_ERROR_SIZE];
//объялвяем буфер принимаемых данных
static char buffer[1024];
//функция обратного вызова
static int writer(char *data, size_t size, size_t nmemb, char* buffer)
{
  //переменная - результат, по умолчанию нулевая
  int result = 0;
  //проверяем буфер
  if (buffer != NULL)
  {
    //добавляем к буферу строки из data, в количестве nmemb
    strncat(buffer, data, size*nmemb);
    //вычисляем объем принятых данных
    result = size * nmemb;
  }
  //вовзращаем результат
  return result;
}
 
//главная функция
int main(void)
{
    //необходимые CURL объекты
    CURL *curl;
    CURLcode result;
    //инициализируем curl
    curl = curl_easy_init();
    //проверяем результат инициализации
    if (curl)
    {
      //задаем все необходимые опции
      //определяем, куда выводить ошибки
      curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
      //задаем опцию - получить страницу по адресу [url]http://google.com[/url]
      curl_easy_setopt(curl, CURLOPT_URL, "http://myexternalip.com/raw");
      //указываем прокси сервер
//      curl_easy_setopt(curl, CURLOPT_PROXY, "proxy:8080");
      //задаем опцию отображение заголовка страницы
//      curl_easy_setopt(curl, CURLOPT_HEADER, 1);
      //указываем функцию обратного вызова для записи получаемых данных
      curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
      //указываем куда записывать принимаемые данные
      curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
      //запускаем выполнение задачи
      result = curl_easy_perform(curl);
      //проверяем успешность выполнения операции
      if (result == CURLE_OK)      
      //выводим полученные данные на стандартный вывод (консоль)
        puts(buffer);
      else      
        //выводим сообщение об ошибке
        printf("Error: %s",errorBuffer);
  }
  //завершаем сессию
  curl_easy_cleanup(curl);
  return 0;
}
Делов на 5 минут...
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.12.2021, 15:16  [ТС]
Спасибо. Все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2021, 15:16

Как правильно на хостинше запустить файл PowerShell?
Залил на хостинг скрипт в .ps1 Пытаюсь запустить его - тупо вижу весь текст фаайла и ничего не происходит. Я явно что-то делаю не так..

Как запустить PowerShell-скрипт в скрытом режиме?
Привествую. Есть скрип на PowerShell. Называется ctr_switch. Как его запустить через VBS в скрытом режиме? На такой код выдает ошибку. ...

Как запустить консольное приложение с ключами в PowerShell ISE?
Пытаюсь запустить приложение wincontig (дефрагментатор). Вот такой код в скрипте: $disk = &quot;F:\&quot; $keys = &quot;/NOGUI...

При компиляции показывается консоль MSBuild затем еще одна консоль и без результата
Когда я компилирую проект C# в Visual studio 2013 открывает MSBuild (консольку) и нечего не пишет не работает после 5 секунд открывает еще...

Как запустить сценарий PowerShell от имени администратора через BAT файл
Имею вот такой .bat файл: @ECHO OFF chcp 65001 color 06 mode con:cols=100 lines=50 @cls powershell -file install_settings.ps1В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru