我想仅使用cmd.exe(使用ShellExecute,C ++)在文件内编写这样的命令,
是这样的:
timeout /t 10 && start cmd.exe /C "ssh -o ..."
我尝试使用这个:
echo timeout /t 10 && start cmd.exe /C "ssh -o ..." > myfile.bat
但是它到达&&
时会剪切,并且我不能在整个字符串上使用引号,那我该怎么办?我不想使用cmd.exe以外的任何东西,而只想将其写入.bat
文件中。
我该如何解决?
答案 0 :(得分:3)
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