0

我有这个简单的批处理脚本...

@ECHO OFF
:batch
IF "%~1"=="" GOTO end
ECHO video=FFVideoSource("%~f1")>"%~f1.avs"
ECHO audio=BassAudioSource("%~f1")>>"%~f1.avs"
ECHO AudioDub(video,audio.TimeStretch(pitch=432.0/4.4))>>"%~f1.avs"
SHIFT
GOTO batch
:end

从命令提示符执行时在所有情况下都可以正常工作,但是当我拖放文件名中带有下划线的文件时会中断。创建了几个 avs 文件。我在其父目录的 %~1 甚至在“C:\Documents and Settings\Admin”中都找到了它们。
有谁知道为什么下划线会成为拖放问题?
我在WinXP上,这与它没有任何关系,是吗?

4

1 回答 1

0

问题是目录的名称,在这种情况下,逗号是有问题的字符。

拖放文件时,只有在名称中找到空格时才会引用它。
但在这种情况下,逗号会将名称拆分为多个参数。

D:\Audible[..power progressive symphonic gothic..]\Videos\test_-_test.mp4

在这种情况下,您可以使用%*访问原始全名,但在某些其他情况下(当&名称中有 a 时)您需要更复杂的解决方案。

SO:为多个文件拖放批处理文件?

于 2013-08-22T10:54:29.793 回答