我有数千个文件,其文件名包含“插入符号”符号,但是当我尝试将它们分配给变量时,我得到了奇怪的结果。例如,如果文件名为delete from mytable
where exists
(
select *
from mytable newer
where newer.ipaddress = mytable.ipaddress
and newer.date > mytable.date
);
,则命令"01 ^ Driver's Seat.flac,"
将返回带有额外插入符号的echo %1
,并且处理暂停。如何获得正确的输出?
答案 0 :(得分:2)
插入符号加倍是delegate
命令的问题(请参阅:How the batch parser works)。
通过使用带引号的变量调用函数而不是按值调用变量,可以避免这种情况。
call:func"%variableName%" - 按价值
call:func variableName - by reference
CALL