返回列表 发帖

[问题求助] vbs 怎样调用参数[已解决]

本帖最后由 FOR 于 2014-4-27 09:11 编辑

要求运行以下 cmd文件,显示出算式 (1+2)*5+2 的结果
问如何把这个算式传递给 a.vbs
a.vbs的代码怎样写?
谢谢。
@echo off
setlocal enabledelayedexpansion
set str=(1+2)*5+2
for /f "tokens=1* delims==" %%i in ('cscript /nologo a.vbs') do (
  echo %%i
)
echo.
pause>nulCOPY
我这样写的话就会每运行一次,就要重新创建一个a.vbs文件,而我不想反复创建vbs文件
set str=(1+2)*5+2
>c:\a.vbs echo WScript.Echo a ^& " = " ^& FormatNumber(eval(!str!),,-1)
for /f "tokens=2 delims= " %%i in ('cscript /nologo c:\a.vbs') do (
     echo !str! = %%i
)COPY
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

re wankoilz
谢谢回复
这只是我代码的一部分,这种混编的方式也麻烦,也影响美观,并且不利于维护。

re PowerShell
谢谢回复
重新学一门语言,需要时间,尽管它和cmd很近,可要熟悉且掌握仍需投入大量的时间和精力,这正是我缺少的。

re DAIC
谢谢回复
问题不在文件是否存在上,而是没办法让a.vbs接受我的cmd算式

TOP

回复 6# DAIC


    求详细代码,谢谢!

TOP

可以了,哈哈,谢谢大家
最后在请问个问题,这个vbs如何设置小数位数?比如我想要保留5位小数。。
@echo off&setlocal enabledelayedexpansion
set str=1.23+5.8*8.2*5
for /f "delims=" %%i in ('cscript /nologo tmptmp.vbs !str!') do (
     echo %%i
)
pauseCOPY

TOP

这样就可以了,嗯
问题完美解决,再次谢谢大家。
WScript.Echo a ^& " = " ^& FormatNumber(eval(!str!),5,-1)COPY

TOP

返回列表