我正在尝试使用swftools将SWF文件夹转换为图像。实际的转换工作正常,但是我在尝试使其在文件夹中的所有文件上运行时遇到问题。(也很高兴它也能适用于所有子文件夹)。
假设该文件夹包含以下文件:1.swf,2.swf,...现在,我为此编写的脚本是:
for %i in (*.swf) do (
set fileName=%i
swfrender "%fileName%" -o "%fileName:~0,-4%.png"
)
我正在从包含SWF文件的文件夹中运行该文件。但是,而不是预期的结果,我在命令提示符下看到以下内容:
设置fileName = 1.swf swfrender“ 3.swf” -o“ 3.png”)
设置fileName = 2.swf swfrender“ 3.swf” -o“ 3.png”)
现在,从我可以找到的脚本来看,应该没问题,所以我不知道出了什么问题。
奇怪的是,以下似乎确实起作用:
for /R %x in (*.swf) do swfrender %x -o %x.png
但是我宁愿不必重命名数百个文件来从文件名中删除多余的.swf部分。
您需要延迟扩展(在批处理文件中,您需要%
将循环令牌加倍):
setlocal enableDelayedExpansion
for %%i in (*.swf) do (
set fileName=%%i
swfrender "!fileName!" -o "!fileName:~0,-4!.png"
)
或者您可以提取不带扩展名的文件名:
for %%i in (*.swf) do (
swfrender "%%~i" -o "%%~ni.png"
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句