提供第一个arg,用反斜杠替换斜杠

时间:2016-01-25 06:25:16

标签: batch-file

下面是我用以“\”替换第一个参数的“/”出现的.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)拆分成单词(假设它是一个句子,即一组单词)?

1 个答案:

答案 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