下面是我用以“\”替换第一个参数的“/”出现的.bat代码,然后用参数%2执行该命令,全部重定向到%3:
@ECHO OFF
if exist %1 (
set a=%1:/=\%
%a% %2 > %3
) else (
Echo "File not found"
)
以上的输出是:
The system cannot find the path specified.
以上是什么问题?另外,我怎么能将第二个参数(%2)拆分成单词(假设它是一个句子,即一组单词)?
答案 0 :(得分:0)
您不能使用参数变量(%1
)或for
变量(%%a
)进行子串替换,只能使用" normal"环境变量。
@ECHO OFF
if not exist "%1" goto :notfound
set "a=%~1"
set "a=%a:/=\%"
%a% %2 > %3
goto :eof
:notfound
Echo "File not found"
我改变了你的逻辑以避免delayed expansion