@echo off
title %#% %$%%$%%@% %z%
set /p ID=MODID:
set "line=%ID%"
>"%tmp%\j.j" echo;var $m=WSH.Arguments(0).match(/\d+/g);WSH.echo($m.join('\r\n'))
for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\j.j" "%line%"') do (
echo;%%a
)
echo;%#% %$%%$%%@% %z%
steamcmd +login 账号 密码 +workshop_download_item 221100 %提取的数字放到这里% +quitbat在字符串提取数字,需要把数字映射到同bat程序中的某一项怎么提取,感谢回答的大佬
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
这段代码的作用是什么?请逐行解释每一行代码的意义。- @echo off:关闭命令行窗口的回显功能,即不在窗口显示执行命令的详细信息。
- title:设置命令行窗口的标题。这里是设置窗口标题为%#% %$%%$%%@% %z%
- set /p ID=MODID:等待用户输入MODID,并将其保存到变量ID中。
- set "line=%ID%":将输入的ID存入变量line中。
- > "%tmp%\j.j":将一个echo命令的输出重定向到一个名为j.j的文件中。
- echo;var $m=WSH.Arguments(0).match(/\d+/g);WSH.echo($m.join(‘\r\n’)):这是一个JavaScript脚本,用于将line中的数字提取出来并以\r\n的格式输出。
- for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\j.j" "%line%"') do (echo;%%a):使用for命令将第6行中的JavaScript脚本执行,并将输出赋值给变量%%a,然后使用echo命令输出。
- echo;%#% %$%%$%%@% %z%:输出一个%#% %$%%$%%@% %z%的字符串。
- steamcmd +login 账号 密码 +workshop_download_item 221100 %提取的数字放到这里% +quit:使用steamcmd工具下载指定ID的MOD。其中,%提取的数字放到这里%即为使用第6行脚本提取出的数字。 代码示例: 我们假设用户输入的MODID为123456,其余都保持默认值。执行代码后,窗口标题会变成"%#% %$%%$%%@% %z%",输入MODID后会执行下载指定ID的MOD的操作。以下为每行代码的实际意义。
@echo off title %#% %$%%$%%@% %z% set /p ID=MODID: set "line=%ID%" > "%tmp%\j.j" echo;var $m=WSH.Arguments(0).match(/\d+/g);WSH.echo($m.join('\r\n')) for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\j.j" "%line%"') do (echo;%%a) echo;%#% %$%%$%%@% %z% steamcmd +login 账号 密码 +workshop_download_item 221100 %提取的数字放到这里% +quit注意:代码中变量账号、密码和提取的数字放到这里均需要替换成实际的值才能正常运行。
解决 无用评论 打赏 举报