Как использовать && внутри echo без кавычек? - PullRequest
1 голос
/ 24 сентября 2019

Итак, я хочу написать такую ​​команду внутри файла, используя только CMD (с ShellExecute, c ++),

примерно так:

timeout /t 10 && start cmd.exe /C "ssh -o ..."

попытался использовать это:

echo timeout /t 10 && start cmd.exe /C "ssh -o ..." > myfile.bat

но он обрезается, когда достигает &&

, и я не могу использовать кавычки для всей строки, так что мне делать?я не хочу использовать ничего, кроме cmd, и я просто хочу записать это в файл bat.

так, как я могу решить это?

1 Ответ

2 голосов
/ 24 сентября 2019

1) Используйте исчезающие кавычки.

FOR %%^" in ("") do (
    echo %%~"timeout /t 10 && start cmd.exe /C "ssh -o ..." %%~" > myfile.bat
)

2) Выход из специальных символов

echo timeout /t 10 ^&^& start cmd.exe /C "ssh -o ..." > myfile.bat

3)Использовать отложенное расширение

setlocal EnableDelayedExpansion 
set "line=timeout /t 10 && start cmd.exe /C "ssh -o ...""
echo !line! > myFile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...