[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs转换成BAT

本帖最后由 cwll444 于 2012-8-8 21:38 编辑

一个vbs文件如何转成BAT文件同样实现VBS文件实现的功能。
以下是VBS文件内容
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim oShell
Set oShell = CreateObject("WScript.Shell")
Dim arrPath
arrPath = ""

If oFSO.FolderExists("C:\Drs") Then
FolderTree("C:\Drs")
Else
WScript.Quit
End If


Dim sDevicePath
sDevicePath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath"
oShell.RegWrite sDevicePath,"%SystemRoot%\inf;" & arrPath,"REG_EXPAND_SZ"


' 递归查询文件夹函数
Function FolderTree(sPath)
Dim oFolder,oSubFolder
Set oFolder = oFSO.GetFolder(sPath)

For Each oSubFolder In oFolder.SubFolders
  arrPath = arrPath & oSubFolder.Path & ";"
  FolderTree(oSubFolder.Path)
Next
End Function

回复 2# CrLf


    还是没有办法实现VBS的效果,咋回事啊

TOP

本帖最后由 CrLf 于 2012-8-11 19:05 编辑

尽量仿楼主代码:
  1. @echo off
  2. set "arrPath="
  3. if exist C:\Drs\ (call :FolderTree C:\Drs\) else exit
  4. if exist E:\nt5_Driver\ (call :FolderTree E:\nt5_Driver\) else exit
  5. set sDevicePath="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath"
  6. reg add %sDevicePath% /t REG_EXPAND_SZ /d "%SystemRoot%\inf;%arrPath%"
  7. goto :eof
  8. :FolderTree
  9. for /f "delims=" %%a in ('dir /s /b /ad"%~1"^|sort) do (
  10. set "path=%%a"
  11. setlocal enabledelayedexpansion
  12. set "sDevicePath=!sDevicePath!!path!;"
  13. endlocal
  14. )
复制代码

TOP

返回列表