执行期间的批处理命令混合语法

时间:2018-07-11 12:47:04

标签: batch-file

我试图将变量添加到已编写的现有批处理文件中。但是,将新命令与变量一起使用时,该命令会变得混乱。

它应该如何工作。 提示用户输入(3个字母之一)。输入指示用于软件执行的根目录。此部分代码提取.elf文件的列表,并应将它们写入根目录中的.txt文件。

问题。 使用变量目录时,.txt文件和目录在执行期间切换。

原始作品(作品)

DIR \\somepath\%VAR%\*.elf /b /o-s>C:\MyRootFolder\unlk.txt

带有第二个变量的新命令(行为奇怪)

DIR \\somepath\%VAR%\*.elf /b /o-s>%root%\unlk.txt

但是这样执行!?

DIR \\somepath\25091562033-00\*.elf /b /o-s \unlk.txt 1>C:\MyRootFolder

我试图通过输入进一步选择我的根文件夹,因为我需要使用3种不同版本的软件来执行操作。能够通过输入选择文件夹将使事情变得简单得多。

为什么要半后退执行任何想法?

编辑:

这是我的批处理文件的第一部分,一直到发生错误的地方。我删除了一些与此问题无关的代码。请注意,过多的停顿是为了进行故障排除,设置变量%ECUPN%的部分已按预期工作而删除。

ECHO off
:Ask
CLS
ECHO What type of processor does this ECU have?
ECHO F = Freescale_Quasar
ECHO T = TI
ECHO M = Motorola
SET INPUT=
SET /P INPUT=[F/T/M]: %=%
IF /I "%INPUT%"=="F" SET root=C:\Freescale_Quasar && GOTO :Fetch
IF /I "%INPUT%"=="T" SET root=C:\TI_MK100 && GOTO :Fetch
IF /I "%INPUT%"=="M" SET root=C:\MK100_Motorola && GOTO :Fetch
GOTO :Ask

:Fetch
CLS
Echo on
ECHO Fetch
pause
DIR \\mofs01p2.auto.contiwan.com\didf5076\FlashDataFiles\Flashline\%ECUPN%\*.elf /b /o-s>%root%\unlk.txt
pause
SET /P Code=<%root%\unlk.txt
pause
COPY "\\mofs01p2.auto.contiwan.com\didf5076\FlashDataFiles\Flashline\%ECUPN%\%Code%" "%root%\unlock.elf" || GOTO :error_1
pause
ECHO App  = %code%>>C:\Unlock\log.txt
pause
GOTO :Build_1

0 个答案:

没有答案