所以我是创建我的第一批文件的过程,我确信有一个更好的方式。似乎我能完成我想要的,但从我所读到的所有惯例来看,这似乎是草率的。
@echo off
set /p xyzCode= Please enter the code.
set x=0001
set xyz=0002
set xyza=0003
if %xyzCode% ==x echo %x%
问题是我需要600个变量,600个if语句。
在我工作的地方,一个产品有两个唯一的标识符一个代码和一个物料标识符,
我希望能够快速键入一个代码并获得物资标识符。
如果我使用的是Python,我认为答案是使用dicts,但需要一种方法来在批处理脚本中实现这一点。
null
Code, Material Id
0001, Abcd
0123, Qwerty
4567, Zxcvb
然后,您可以编写类似于以下内容的批处理脚本:
@echo off
set /p xyzCode= Please enter the code:
for /f "skip=1 tokens=1,2 delims=, usebackq" %%a IN ("Code&ItemList.txt") do (
if %xyzCode%==%%a echo Material ID is %%b
)
键入
如果我理解正确的话,我认为你可以使用延迟扩展来做你想做的事情。
在脚本顶部添加
像这样:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set /p xyzCode=Please enter the code.
set x=0001
set xyz=0002
set xyza=0003
echo !%xyzCode%!
这样,您就不需要为每个可能的代码都有一个
听起来像是开关箱的工作
windows批处理文件中等效的开关语句
这仍然会占用很多空间,但我相信它们比IF语句快得多