Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows中使用批处理命令拆分字符串?_Windows_Batch File - Fatal编程技术网

如何在Windows中使用批处理命令拆分字符串?

如何在Windows中使用批处理命令拆分字符串?,windows,batch-file,Windows,Batch File,我在Windows电脑上安装了一个LED指示牌,并试图让它显示我的Linux电脑的温度: acpitz-virtual-0 适配器:虚拟设备 温度1:+97.7华氏度(临界温度=+183.2华氏度) 现在,这是我电脑上的批处理文件 wget 192.168.1.58/sensor1.txt 文件夹中有windows版本的wget type sensor1.txt | findstr /v acpitz-virtual-0 | findstr /v Adapter: > msg.txt s

我在Windows电脑上安装了一个LED指示牌,并试图让它显示我的Linux电脑的温度:

acpitz-virtual-0

适配器:虚拟设备

温度1:+97.7华氏度(临界温度=+183.2华氏度)

现在,这是我电脑上的批处理文件

wget 192.168.1.58/sensor1.txt
文件夹中有windows版本的wget

type sensor1.txt | findstr /v acpitz-virtual-0 | findstr /v Adapter: > msg.txt
set /p msg= < msg.txt

prismcom.exe usb {HOLD} %msg%
type sensor1.txt | findstr/v acpitz-virtual-0 | findstr/v适配器:>msg.txt
set/p msg=
现在,我的标志闪烁,相当于

温度1:+97.7华氏度(临界温度=+183.2华氏度)

我需要它闪光

+97.7华氏度

甚至更好

+97.7 F

我一直在尝试使用FIND、FOR和类似的命令,但是运气不好。如何修改字符串以使其工作


谢谢

如果您有一个Windows版本的wget,那么您还可以使用一个特殊的命令来解析温度。在C语言中,您可以轻松地做您想做的事情:

#include <stdio.h>

int main(void) {
    char buf[1000];
    scanf("temp1: %[+0-9.]", buf);
    printf("%sF", buf);
    return 0;
}
这将生成一个名为
filter.exe
的文件,您可以在管道中使用该文件

type sensor1.txt | findstr /v acpitz-virtual-0 | findstr /v Adapter: | filter > msg.txt

寓意是有限的工具(如
cmd.exe
)通常不值得费心。如果您有Windows版本的wget,那么您还可以使用一个特殊的命令来解析温度。在C语言中,您可以轻松地做您想做的事情:

#include <stdio.h>

int main(void) {
    char buf[1000];
    scanf("temp1: %[+0-9.]", buf);
    printf("%sF", buf);
    return 0;
}
这将生成一个名为
filter.exe
的文件,您可以在管道中使用该文件

type sensor1.txt | findstr /v acpitz-virtual-0 | findstr /v Adapter: | filter > msg.txt

寓意是,有限的工具(如
cmd.exe
)往往不值得费心。

说存储温度的变量称为“temp”,其值为“temp1:+97.7°F(crit=+183.2°F)”。这个小片段应该会产生奇迹

setlocal enabledelayedexpansion
set dis=!temp:~7,5! F
set check=!temp:~10,1!
if %check% neq . set dis=!temp:~7,6! F
以下是语法:

set variable=!variable_to_be_constrained:~offset,amount_of_characters!
我应该提到的一点是变量“TEMP”(或“TEMP”,大写通常与.bat文件无关)是一个预定义的命令行变量,通常这些变量永远不应该被覆盖。然而,在这种情况下,它纯粹是为了美学目的,你可以改变它,以任何你想要的

--编辑--
增加了两条线,允许温度超过100华氏度。还将
temp
更改为
dis

假设存储温度的变量称为“temp”,其值为“temp1:+97.7°F(crit=+183.2°F)”。这个小片段应该会产生奇迹

setlocal enabledelayedexpansion
set dis=!temp:~7,5! F
set check=!temp:~10,1!
if %check% neq . set dis=!temp:~7,6! F
以下是语法:

set variable=!variable_to_be_constrained:~offset,amount_of_characters!
我应该提到的一点是变量“TEMP”(或“TEMP”,大写通常与.bat文件无关)是一个预定义的命令行变量,通常这些变量永远不应该被覆盖。然而,在这种情况下,它纯粹是为了美学目的,你可以改变它,以任何你想要的

--编辑--

增加了两条线,允许温度超过100华氏度。还将
temp
更改为
dis

“尝试寻找和寻找之类的东西”?在下一个技术问题(或者更好的是面试问题答案)中,我必须记住这一点。我不知道会怎么样。。。“你将如何设计一个链表?”——“好吧,我会使用指针、节点和诸如此类的东西,让它工作起来。”。是的,那就行了。砰!高薪新工作!!:-)啊哼。更正:我一直在尝试使用FIND、FOR和类似的命令,但运气不好。哦,是的,你的更正更精确。;-”我会用“指针”和“节点”之类的东西,这样更清楚。谢谢。你也能回答这个问题吗?当然可以。:-)将
FOR
tokens=
等一起使用,并找出可用于
tokens
的内容来分解字符串。“尝试使用find and FOR等类似内容”?在下一个技术问题(或者更好的是面试问题答案)中,我必须记住这一点。我不知道会怎么样。。。“你将如何设计一个链表?”——“好吧,我会使用指针、节点和诸如此类的东西,让它工作起来。”。是的,那就行了。砰!高薪新工作!!:-)啊哼。更正:我一直在尝试使用FIND、FOR和类似的命令,但运气不好。哦,是的,你的更正更精确。;-”我会用“指针”和“节点”之类的东西,这样更清楚。谢谢。你也能回答这个问题吗?当然可以。:-)使用
FOR
标记=
之类的东西,并找出可以用于
标记的内容来分解字符串。抱歉,但是-1。这并没有回答所问的问题,即“如何在Windows中使用批处理命令拆分字符串”。这可能是另一种选择,比如“如何修理我的本田检查发动机灯?”“买一辆丰田”可能是一个解决方案。(或者“我如何用C写这段代码?”“你可以在Python中使用它。”)苹果和桔子。这很公平,但有时最好的回答是说这个问题不是正确的。教书23年会教你这一点。有趣的问题:谁在讨论中学究气十足?好的。作为一名23年的教师,请告诉我:“你用法语怎么说‘我叫什么名字’?”。我怀疑答案是否是“好吧,你可以用英语说‘我叫什么名字?’”,这会奏效,因为我已经当了20多年的老师,这是更好的答案。“聪明,但是哦,别这样。。。软件设计需要判断。语言翻译——至少在你要求的水平上——绝对不行。如果你的问题是关于转换普鲁斯特的,我们会认真讨论。对不起,但是-1。这并没有回答所问的问题,即“如何在Windows中使用批处理命令拆分字符串”。这可能是另一种选择,比如“如何修理我的本田检查发动机灯?”“买一辆丰田”可能是一个解决方案。(或者“我如何用C写这段代码?”“你可以在Python中使用它。”)苹果和桔子。这很公平,但有时最好的回答是说这个问题不是正确的。教书23年会教你这一点。有趣的问题:谁在讨论中学究气十足?好的。作为