Windows批处理:为什么在我的文件路径后插入空格?

时间:2014-07-28 18:06:26

标签: windows batch-file

我有一个令人愤怒的问题。我想从我的批次中调用批次。我在SCRIPT_DIR中设置批处理的路径,并在for循环中调用批处理。问题是,由于某种原因,在SCRIPT_DIR中存储的路径的末尾插入了三个空格,而不是

V:\bin\EP4BIN\SCRIPTS\Myfilewapper.bat

我明白了 -

V:\bin\EP4BIN\SCRIPTS\              Myfilewapper.bat

并且调用失败,因为无法找到该文件。

任何人都知道为什么要插入这些额外的空格?

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
SET VEDT_BASE_DIR=%~d0
SET SCRIPT_DIR=%VEDT_BASE_DIR%\BIN\USER\SCRIPTS\    

for /f %%a in ('dir /b e:\xxx\batchfacility\inc*trans') do (
    CALL !SCRIPT_DIR!Myfile_wrapper.bat Inc%%aTrans 00000020 
    pause

...

2 个答案:

答案 0 :(得分:2)

脚本中有尾随空格:

SET SCRIPT_DIR=%VEDT_BASE_DIR%\BIN\USER\SCRIPTS\    
                                                ^^^^

答案 1 :(得分:0)

尝试扩展var %% a并将所有空格替换为空..

设置var = %% a

设置“var =!var:=!”