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

相關文章
相關標籤/搜索