В Heroku есть замечательная команда, которая позволяет мне использовать curl для загрузки файла, который отлично работает в UNIX:

curl -o latest.dump `heroku pgbackups:url`

Команда в обратных тегах дает очень длинный URL, который трудно скопировать / вставить в мою консоль Windows CMD.

Поскольку обратные пометки, кажется, не работают в Windows, что является эквивалентом в Windows? Мое исследование CMD вошло в глубокое погружение в создание командного файла, который я считаю излишним для этой небольшой цели. Гугл-керл на страницах справочника ничего не выдал. Поиск других ресурсов, кажется, указывает на генерацию запроса POST, что я не думаю, что это так.

Какая эквивалентная команда в Windows CMD? спасибо сэм

2 ответа2

1

Это не оригинальное исследование, но заимствовано из блогов MSDN. Там говорится, что

Нет очевидного способа прочитать вывод команды в (...) переменную. В оболочках в стиле Unix это делается с помощью обратных цитат. (...) Командный процессор Windows не имеет прямого обратного цитирования, но вы можете подделать его, используя команду FOR.

И вот пример с такой командой for , напоминающей эхо unix echo `your_command`:

for /f "delims=" %i in ('your_command') do @echo "%i"
  • /f активирует следующий синтаксис (дополнительную информацию см. в help for):

    FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
    
  • delim= отключает расщепление в пробелах

  • @echo печатает содержимое переменной %i , но сам эхо-вызов подавляется (@)
0

Как уже сказал @Eugen Rieck, я предлагаю вам также использовать подходящий терминал. Но по поводу вашего вопроса:

  • Обратные метки используются для выполнения чего-либо, и, используя встроенный результат, они оценивают команду:

    echo `date`
    

    Или же

    echo $(date)
    

    Распечатает:

    mar jul  1 11:46:42 CDT 2014
    

    Так что в вашем случае он пытается выполнить команду heroku с pgbackups:url в качестве параметра. Вы можете обратиться к этому вопросу: Пакетные файлы - Как настроить вывод команд в качестве переменной, как предлагает Кристиан в комментариях.

  • И чтобы передать параметр в запрос GET вам просто нужно добавить указанные параметры в URL, например, если вы хотите передать переменную с именем number с номером 10 и переменную с именем text которая содержит "I'm a text" , Ваш URL должен выглядеть так:

    "http://example.com/script.php?number=10&text=I'm+a+text"
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .