因此,我是创建我的第一批文件的过程,我相信有一个更好的方法。似乎我可以完成我想要的,但从我读过的所有惯例来看,它似乎是草率的。
@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,但需要一种在批处理脚本中这样做的方法。
发布于 2016-02-23 20:19:25
您可以尝试为所有代码和标识符保留一个单独的文本或csv文件,如下所示:
Code&ItemList.txt
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
)输入for /?来解释它的工作方式和原因。
发布于 2016-02-23 20:42:53
如果我理解正确,我认为你可以用延迟扩展来做你想做的事。
在脚本顶部添加SETLOCAL ENABLEDELAYEDEXPANSION。然后,在底部添加echo !%xyzCode%!以显示您输入的代码的值。
如下所示:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set /p xyzCode=Please enter the code.
set x=0001
set xyz=0002
set xyza=0003
echo !%xyzCode%!这样,您就不需要对每个可能的代码都有一个IF语句。如果输入xyz,此脚本将显示名为xyz的变量的值。
发布于 2016-02-23 19:53:34
https://stackoverflow.com/questions/35586745
复制相似问题