Есть ли что-то вроде подстановки команд в Windows CLI?

14

В Linux (Bash) есть способ использовать команду в качестве параметра для другой команды, используя обратные галочки:

> echo ===== `time` =====

Это напечатало бы:

===== Текущее время: 12: 22: 34.68 =====

Есть ли способ сделать это в cmd.exe в Windows?

Кристи Диаконеску
источник
1
см. этот пост
принц Джон Уэсли
Также смотрите этот пост ( использование команды doskey из cmd )
misterjaytee
@misterjaytee: Подстановка команд и псевдонимы - разные вещи.
user1686
@grawity - Спасибо за указание на это - Примечание для себя: надо правильно прочитать вопрос, прежде чем отвечать ...
misterjaytee

Ответы:

9

Попробуй это:

echo. ===== %time% =====

Я знаю, что это может быть не то, что вы хотите, потому что вы упомянули подстановку команд ... Так что это может быть так:

for /f "usebackq tokens=*" %i in (`date/t&time/t`) do echo.  ===== %i =====

Для получения дополнительных советов по использованию usebackqпопробуйте эту команду:

for /?
Курт Пфайфл
источник
4
Да, for /fэто то , что я искал. Благодарность! На заметку: это так глупо и трудно запомнить (по сравнению с bash). Я должен отказаться от "программирования на летучих мышах" и изучить что-то более продуктивное - возможно, PowerShell?
Кристи Диаконеску
3

В Windows оператор '()' работает аналогично подстановке команды Bash.

Этот скрипт Linux:

my_linux_variable=$(ls)
my_alternate_linux_variable=`ls`

echo $my_linux_command=$(ls)
echo $my_alternate_linux_command=`ls`

дает аналогичный результат как Windows PowerShell:

$my_windowsPS_variable = (dir)

$my_windowsPS_variable

и как Windows CMD:

set my_windowsCMD_variable=(dir)
%my_windowsCMD_variable%
ДДС
источник
9
Пример Windows CMD неверен. Парены в оболочке cmd просто выполняют команду в подоболочке. Env var установлен на "(dir)" и выполняется во второй строке (когда env var окружен%) - на самом деле это не замена, которую вы хотите.
Давидбак
1
это неверно для окон cmd.exe поведения
JJS
Это PowerShell, тогда как вопрос о cmd.exe
Рауль Салинас-Монтеагудо