标题:
call 跳出 for 后就不能去引号了吗?
[打印本页]
作者:
26933062
时间:
2007-6-3 17:39
标题:
call 跳出 for 后就不能去引号了吗?
我写了个查看 mp3歌曲列表的批处理
发现跳出for后没办法去掉引号??
将红色部分改成 %1就可以,为什么呢?
@echo off
set var=1
for /f "delims=" %%b in ('dir/b E:\音乐\*.mp3') do call :loop "%%b"
pause
goto :eof
:loop
set num=%1
if %var% lss 10 (echo 0%var%
%num:"=%
) else (echo %var%
%num:"=%
)
set/a var+=1
goto :eof
作者:
stornager
时间:
2007-6-3 17:49
"%%b"的双引号不需要吧.
作者:
kernelv
时间:
2007-6-3 17:50
直接 set num=%~1 不可以吗?
作者:
26933062
时间:
2007-6-3 17:54
搞定了,谢各位,原来是我的歌曲名字含了特殊符号.
请问有什么办法解决整个问题吗?
我想显示的结果不含引号.
作者:
huahua0919
时间:
2007-12-3 16:05
@echo off
set var=1
for /f "delims=" %%b in ('dir/b E:\音乐\*.mp3') do call :loop "%%b"
pause
goto :eof
:loop
setlocal EnableDelayedExpansion
set num=%1
if %var% lss 10 (echo 0%var% !num:"=!) else (echo %var% !num:"=!)
set/a var+=1
goto :eof
作者:
zh159
时间:
2007-12-3 17:21
%1改为%~1就可以去掉引号了
欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/)
Powered by Discuz! 2.5