Перенаправление вывода команды:
Например:
echo "Foo `./print_5_As.rb`"
будет повторять "Foo AAAAA"
Для cmd.exe есть хорошая альтернатива, описанная здесь: stackoverflow.com/questions/2768608/…





В CMD.EXE нет прямого эквивалента. Но вы можете использовать команду FOR для достижения желаемого.
Сделайте что-нибудь вроде следующего:
FOR /F "usebackq" %x IN (`./print_5_As.rb`) DO @echo Foo %x
или же
FOR /F %x IN ('"./print_5_As.rb"') DO @echo Foo %x
Вам может потребоваться установить в качестве разделителя что-то другое, кроме значения по умолчанию, в зависимости от того, как выглядит вывод и как вы хотите его использовать. Более подробная информация доступна в документации FOR на https://technet.microsoft.com/en-us/library/bb490909.aspx
Громоздкий, в отличие от его сверх-элегантного эквивалента в bash: for x in `./print_5_As.rb`; do echo %x; done.
@jordanpg, вы, кажется, упускаете тот момент, что FOR в этом случае не используется для цикла. Эквивалент bash по-прежнему будет таким же, как в исходном посте, без цикла for.
Отображается только первое «слово» вывода print_5_As.rb, если вывод содержит пробелы.
В PowerShell вы используете $ () для оценки подвыражений ...
Например:
PS C:\> "Foo $(./print_5_As.rb)"
Foo AAAAA
Синтаксис PowerShell основан на синтаксисе POSIX ksh. (и, что интересно, нет на любом из языков Microsoft например CMD.EXE, VBScript или Visual Basic для приложений), многие вещи работают примерно так же, как в Bash. В в вашем случае подстановка команд выполняется с помощью
echo "Foo $(./print_5_As.rb)"
как в PowerShell, так и в Bash.
Баш по-прежнему поддерживает древний способ (обратные кавычки), но PowerShell очистил синтаксис и удалил лишнее конструкции, такие как подстановка двух разных команд синтаксисы. Это освобождает обратную кавычку для разные использование в PowerShell: в POSIX ksh обратная косая черта используется как escape-символ, но это было бы очень больно в PowerShell, потому что обратная косая черта - это традиционный путь разделитель компонентов в Windows. Итак, PowerShell использует (теперь не используется) обратная кавычка для выхода.
Замечательно читать такие ответы, где вы узнаете, как и почему обстоят дела. Спасибо! (Я бы сделал +10, если бы мог.)
Вы задаете два вопроса: один по CMD, а второй по PowerShell.