English 中文(简体)
删除从案文中删除平等象征
原标题:Remove an Equals symbol from text string
  • 时间:2010-09-23 09:45:28
  •  标签:
  • batch-file

I m 运行一个以一系列远程客户机为单位的中等收入国家调查,从模型和序列号中提取。

在(湿度/年限:%device% 计算机获得模型/价值系统 ,“Model”)中,“tokens=*”%b 1. 固定模式:%b

表格/F“tokens=*”%c, (wmic /node:%device% bios GET series / Value|find “SerialNumber=”)

我的问题是(例如)%的序号是: SerialNumber=CNU8424GP3

我不希望Serial number= ,我只希望Serial号码本身。

我发现的唯一办法就是:

• SerialNumber=!serial number:SerialNumber=!

但这在这条线一开始就留下了相同的迹象。 因此,最后产出是=CNUBFZXXY,我想做的是去除铅=,我没有能够这样做。

任何建议?

最佳回答

<delims=>>>>。 之后,你想要的数值将排在第二位,即:

For /F "delims== tokens=1-2" %%b in ( wmic /node:%device% computersystem get Model /value^|find "Model" ) do set model=%%c
For /F "delims== tokens=1-2" %%c in ( wmic /node:%device% bios GET serialnumber /value^|find "SerialNumber="  ) do set Serialnumber=%%d
问题回答

要么将结果分成几个部分,使用 delims=(校对回答),要么将结果分成三个部分,包括平等签字——你的例子代码已经非常接近:

set SerialNumber=!SerialNumber:SerialNumber=!
set SerialNumber=!SerialNumber:~1!

下面的幻灯将允许你去除第一和最后的特性。 我在这里玩笑了,在扼杀结束时添加了一个对子(NOTE:我本可以使用任何特性)。 我无法找到一种办法,来达到最后的性质,因此,陷阱只是增加变数结束时的任何特性,然后将变数与1-1相隔,这意味着跳出第一胎,右边的负值意味着从右边回来。

set serialnumber=%serialnumber%=
set serialnumber=%serialnumber:1-1%

Hope this helps people looking to hack DOS batch scripts in the future. A good short description of string manipulation can be found here: DOS String Manipulation

能够从直线变量中检索具体特性。

Syntax %variable:~num_chars_to_skip% %variable:~num_chars_to_skip,num_chars_to_keep%

这可包括负数:

  %variable:~num_chars_to_skip, -num_chars_to_skip%
  %variable:~-num_chars_to_skip,num_chars_to_keep%

 SET _test=012345
 SET _result=%_test:~1,6%
 ECHO %_result%          =12345

这样做只会使情况更加容易。 四、对《综合框架》声明的分析

表格

:

SET VARIABLE=%VARIABLE:~10%

页 次

产出应为123456。 没有平等的迹象。

这样做。 很严重,这真是使我nut想出这一点。 另有一些人最近帮助我这样做。 永远不会认为它非常容易。





相关问题
complex batch replacement linux

I m trying to do some batch replacement for/with a fairly complex pattern So far I find the pattern as: find ( -name *.php -o -name *.html ) -exec grep -i -n hello {} + The string I want ...

How to split a string by spaces in a Windows batch file?

Suppose I have a string "AAA BBB CCC DDD EEE FFF". How can I split the string and retrieve the nth substring, in a batch file? The equivalent in C# would be "AAA BBB CCC DDD EEE FFF".Split()[n]

How to check which Operating System?

How can I check OS version in a batch file or through a vbs in an Windows 2k/2k3 environment ? You know ... Something like ... : "If winver Win2k then ... or if winver Win2k3 then ....