cmd中怎样读取变量的值是为变量的变量

cmd中怎样读取变量的值是为变量的变量,第1张

要用for指令,我给你个例子,可以追问,或者加我QQ讨论

set myvar=1

set mycopy=11111

for /f %%i in ('echo %mycopy%') do set myvar=%%i

(注意,如果不是在批处理中的话,%%i应为%i)

echo %myvar%

这时候就可以看到myvar的值是11111,实现了把mycopy变量的值赋给myvar的效果

对于变量的变量的情况,要变通一下,比如这个例子

set myvar1=1

set m1=myvar

set m2=1

echo echo %%m1%%m2%%>tempbat(没错,两个echo)

for /f %%i in ('call tempbat') do set result=%%i

这样就实现了result赋值%m1%%m2%的变量的值的效果

for /f "delims=" %%a in ('wmic useraccount get sid /value') do set "%%~a" >NUL

这个命令就可以获取到SID值,并赋值到SID这个变量上,然后后面调用这个SID变量即可,如下

reg add "HKEY_USERS\%SID%\Software\Microsoft\Windows\CurrentVersion\Themes"

我给你一个实现方法,cmdstr是你要执行的命令

代码:

Shell "cmdexe /c " & Trim(cmdstr) & "&exit", vbHide

Else

Shell "cmdexe /c " & Trim(cmdstr) & " >" & WinPath & "shellrlt&exit", vbHide

Sleep 200

Call tranrlt ‘调用记录函数实现重定向到文本

End If

End Sub

Private Sub tranrlt()

Dim strrlt As String

Open WinPath & "shellrlt" For Input As #1 ’读取命令结果

Do While Not EOF(1)

Line Input #1, strrlt

'strrlt = URLEncoding(strrlt) 加密函数

’ServerSendData strrlt & vbCrLf 这句去掉

Loop

Close #1

Shell "cmdexe /c del " & WinPath & "shellrlt&exit", vbHide ‘删除记录文件

End Sub

以上就是关于cmd中怎样读取变量的值是为变量的变量全部的内容,包括:cmd中怎样读取变量的值是为变量的变量、CMD赋予返回值变量 需要执行以下命令和效果、vb 获取cmd返回值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10100769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存