我有一个令人愤怒的问题。我想从我的批次中调用批次。我在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
...
答案 0 :(得分:2)
脚本中有尾随空格:
SET SCRIPT_DIR=%VEDT_BASE_DIR%\BIN\USER\SCRIPTS\
^^^^
答案 1 :(得分:0)
尝试扩展var %% a并将所有空格替换为空..
设置var = %% a
设置“var =!var:=!”