【发布时间】:2015-09-21 11:07:54
【问题描述】:
我有一个 dos 批处理文件。
mycommand.exe>c:\temp
find /B Serv c:\temp>c:\temp2
set /p var1=<c:\temp2
SET var2=%var1:~-7%
echo %var2%
这只是DOS,不是windows环境。
问题是,批处理文件输出是: “回声开启”。无法回显 VAR2 变量。
mycommand.exe 是一个简单的应用程序。不重要。
> type c:\temp"
VERSION 45.2
TAG1 NUMBER is 1234567
Serv NUMBER is 9654754
> type c:\temp2
c:temp Serv NUMBER is 9654754
如果我想回显 VAR2 变量,我该怎么办? 我不能使用“setlocal enabledelayedexpansion”,因为 setlocal“命令或文件名无法识别”。
编辑:我到底想要什么? 我想 ECHO mycommand.exe 输出第三行最后 7 个字符。就是这样。
【问题讨论】:
-
DOS
set命令不支持/p。它也不支持替换它只是set variable=value -
DOS 在 FIND 上是否也有 /B,现在我想起来了?
-
find在 DOS 和 Cmd 中都没有/B。 (你想到findstr,它有/b,但在DOS下不可用)
标签: batch-file dos