我有一个批处理脚本,可以在我的网络上触发vlc,问题是它是基于浏览器中的URL打开的。 浏览器会自动添加%20来代替常规空间,在将文件路径发送到vlc之前,我需要在批处理脚本中再次使用常规空格替换它。
这是我的代码;
@echo off
set str=%1
set str=%str:~8%
set str=%str:%%20= %
START /D "C:\Program Files\VideoLAN\VLC\" vlc.exe %str%
pause
值得一提的是,这将在Windows 7和/或vista系统上运行。
答案 0 :(得分:8)
@echo off
setlocal enabledelayedexpansion
set str=%~1
set str=%str:~7%
set str=!str:%%20= !
"C:\Program Files\VideoLAN\VLC\vlc.exe" "%str%"
pause
也可以自由修复其他一些事情。如果脚本在参数周围使用引号运行,则它始终具有尾随"
。延迟扩展为您提供了第二组变量分隔符,避免了%
的问题。此外,根据我的意见,我不需要start
,除非您严格依赖VLC将自己的目录作为其启动路径。