首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从WSH脚本中设置批处理变量

从WSH脚本中设置批处理变量
EN

Stack Overflow用户
提问于 2022-06-22 13:48:37
回答 1查看 39关注 0票数 1

我试图运行一个批处理文件,从WSH脚本中获取一个变量。运行脚本时,我得到了正确的输出,但似乎无法将其设置为变量

代码语言:javascript
复制
@if (@codesection == @batch) @then


cscript //nologo //e:JScript "%~f0"

set getclip=cscript //nologo //e:jscript "%f~0"

echo "%getclip%"
pause


goto :EOF
@end

WSH.Echo(WSH.CreateObject('htmlfile').parentWindow.clipboardData.getData('text'));

第二行回显剪贴板,但不回getclip变量。

EN

回答 1

Stack Overflow用户

发布于 2022-06-22 14:32:08

在这部分中有一个小错误://e:jscript "%f~0"

为了获得命令的输出,需要使用for /F命令。

此外,变量只能存储一行。如果您想获得几行,则需要使用一个数组。

代码语言:javascript
复制
@if (@codesection == @batch) @then

@echo off
setlocal EnableDelayedExpansion

cscript //nologo //e:JScript "%~f0"

ECHO ===============

set "line=0"
for /F "delims=" %%a in ('cscript //nologo //e:JScript "%~f0"') do (
   set /A line+=1
   set "getclip[!line!]=%%a"
)

for /L %%i in (1,1,%line%) do echo !getclip[%%i]!
pause

goto :EOF

@end

WSH.Echo(WSH.CreateObject('htmlfile').parentWindow.clipboardData.getData('text'));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72716740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档