Board logo

标题: [系统相关] %~dp0DiskCalc2.vbs 这个vbs是啥意思,谢谢 [打印本页]

作者: swanseabrian    时间: 2021-8-4 14:29     标题: %~dp0DiskCalc2.vbs 这个vbs是啥意思,谢谢

  1. @echo off
  2. rem ----------diskInfo----------
  3. echo {
  4. set diskInfo= "diskInfo":[
  5. setlocal enabledelayedexpansion
  6. (
  7. >"%~dp0DiskCalc2.vbs" echo DeviceID = Wscript.Arguments^(0^) / ^(1024*1024*1024^)
  8. >>"%~dp0DiskCalc2.vbs" echo DeviceID = round^(DeviceID ,2^)
  9. >>"%~dp0DiskCalc2.vbs" echo WSCript.Echo DeviceID
  10. )
  11. ver|findstr "5.1" >nul && (
  12.     set "m=ipconfig^|findstr /i "ip address""
  13. )|| (
  14.     set "m=ipconfig^|findstr /i "ipv4""
  15. )
  16. for /f "tokens=14* delims=: " %%1 in ('%m%')do (
  17. set ipAddress=%%2
  18. goto :ipAddress
  19. )
  20. :ipAddress
  21. for /f "skip=1 tokens=2,8,12,13" %%a in ('wmic logicaldisk where "DriveType=3" get DeviceID,Size,Caption,Name,FileSystem') do (call :jsdiskSize d "%%d"
  22.   set  "diskInfo=!diskInfo!{"ipAddress":"%ipAddress%","diskPath":"%%a","diskName":"%%c","diskSize":"!d!","diskType":"%%b"},"
  23. )
  24. if exist "%~dp0DiskCalc2.vbs" del "%~dp0DiskCalc2.vbs"
  25. echo %diskInfo:~0,-1%]
  26. echo }
  27. :end
  28. REM 此处代码保持原样,可以在其它代码后,但不要中间断开
  29. exit/b
  30. :jsdiskSize
  31. for /f "delims=" %%a in ('cscript //nologo "%~dp0DiskCalc2.vbs" %~2') do set "%~1=%%aGB"
  32. goto :eof
复制代码
这个bat是可以运行的,但是不知道那个vbs是啥意思,哪位帮我看看,谢谢
作者: newswan    时间: 2021-8-4 14:39

%~dp0 是本目录
在本目录下生成 DiskCalc2.vbs ,然后运行这个文件
作者: cmd1152    时间: 2021-8-4 15:02

本帖最后由 cmd1152 于 2021-8-4 15:04 编辑

.vbs           脚本文件的后续名
%~dp0      当前目录批处理运行目录(后缀有\)
DiskCalc2   文件名
作者: swanseabrian    时间: 2021-8-4 19:01

回复 2# newswan


生成这个vbs vbs里的内容是什么呀,自动生成的吗,为什么我搜不到这个vbs
,谢谢
作者: idwma    时间: 2021-8-4 19:30

本帖最后由 idwma 于 2021-8-4 19:31 编辑

回复 4# swanseabrian


    看看12到14行,再看一下30行
作者: cmd1152    时间: 2021-8-4 19:39

回复 4# swanseabrian


    文件被第30行的代码删除了,vbs的代码只是计算用的,vbs内容是:
DeviceID = Wscript.Arguments(0) / (1024*1024*1024)
DeviceID = round(DeviceID ,2)
WSCript.Echo DeviceID

作者: cmd1152    时间: 2021-8-4 19:40

vbs是由12到14行的代码生成的
作者: swanseabrian    时间: 2021-8-5 14:09

回复 7# cmd1152
好的,谢谢
作者: swanseabrian    时间: 2021-8-5 14:09

回复 5# idwma


    好的谢谢
作者: cmd1152    时间: 2021-8-5 19:01

标题前面记得加上[已解决]
作者: swanseabrian    时间: 2021-8-6 07:02     标题: RE:已解决 %~dp0DiskCalc2.vbs 这个vbs是啥意思,谢谢

回复 10# cmd1152
作者: cmd1152    时间: 2021-8-6 12:47     标题: RE: [已解决]%~dp0DiskCalc2.vbs 这个vbs是啥意思,谢谢

回复 11# swanseabrian




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2