for循环包含多个双引号怎么办?windows

for循环包含多个双引号怎么办?windows
@echo off
setlocal EnableDelayedExpansion
set "sed=%~sdp0sed"
echo %sed%
set "x=F:\boot_muban2019年5月13日-cxdir\imgs\winvblk.img"
set dv=c
set "menu=c:\menu.lst"
for /f %%i in ('%sed% -n -e "/title/=" %menu% ^|%sed% -n "2p"') do set /a y=%%i
echo %y%
pausewindows


for /f %%i in ('%sed% -n -e "/title/=" %menu% ^|%sed% -n "2p"') do set /a y=%%i
for循环中,in ('')里面的语句若是有多个双引号,每每会出错,特别是第一个符号,不能使双引号,不然会出错。
若是第一个命令放在有空格的目录,能够用%~sdp0短路径来调用。
set "sed=%~sdp0sed" 正确
set "sed=%~dp0sed" 这个放在in ('')里面,若是后面还有双引号的参数,即便用"%sed%"引用,也会出错。spa

相关文章
相关标签/搜索