Quel est le cmd/powershell équivalent de retour tique sur le coup?
De rediriger la sortie de la commande:
par exemple:
echo "Foo `./print_5_As.rb`"
serait echo "Foo AAAAA"
- Vous poser deux questions: l'une pour CMD, et un pour PowerShell.
- Pour cmd.exe, il y a une belle alternative décrite ici: stackoverflow.com/questions/2768608/...
Vous devez vous connecter pour publier un commentaire.
Le PowerShell syntaxe est basée sur les normes POSIX ksh syntaxe
(et il est intéressant de noter pas sur l'un de Microsoft langues
comme CMD.EXE, VBScript ou Visual Basic pour Applications),
donc, beaucoup de choses fonctionnent à peu près la même que dans Bash. Dans
votre cas, la substitution de commande est fait avec
dans les deux PowerShell et Bash.
Bash prend toujours en charge de la voie antique (backticks), mais
PowerShell nettoyé la syntaxe et supprimé redondant
des structures telles que les deux différents de la substitution de commande
syntaxes. Cela libère de la backtick pour un différents
l'utilisation de PowerShell: dans POSIX ksh, la barre oblique est utilisée comme
caractère d'échappement, mais ce serait très douloureux
PowerShell parce que la barre oblique inverse est la voie traditionnelle
composant séparateur dans Windows. Donc, PowerShell utilise le
(inutilisée) backtick pour s'échapper.
Dans CMD.EXE il n'y a pas d'équivalent direct. Mais vous pouvez utiliser la commande for POUR atteindre ce que vous voulez.
Faire quelque chose comme ce qui suit:
ou
Vous pouvez avoir besoin de délimiteur de quelque chose d'autre que la valeur par défaut, en fonction de l'aspect de la sortie et de la façon dont vous voulez l'utiliser. Plus de détails sont disponibles dans la documentation à https://technet.microsoft.com/en-us/library/bb490909.aspx
for x in `./print_5_As.rb`; do echo %x; done
Dans Powershell, vous utilisez $( ) pour évaluer les sous-expressions...
Par exemple: