Board logo

标题: 谁帮我改改这个批处理,谢谢! [打印本页]

作者: wangyanbac     时间: 2010-4-6 12:44    标题: 谁帮我改改这个批处理,谢谢!

想写一个wim文件查看的东西,用cho.vbs来显示文件选择窗口,将文件路径存到变量nam中,

请问如何将cho.vbs中的变量nam返回给main.bat



文件1:main.bat

@echo off
color 2f

if not exist %windir%/system32/subst.exe goto setup

:menu
cls
title wim文件工具
echo 1 查看wim文件内容;
echo 2 卸载挂载的wim文件;
echo 3 还原映像文件到分区;
set /p choice=请输入选择你要操作的编号(1/2/3),按回车确定:
If /i "%Choice%"=="1" goto vie
If /i "%Choice%"=="2" goto un
If /i "%Choice%"=="3" goto res

:setup
title 正在安装 WIM 工具包
echo 正在安装 WIM 工具包,请稍后.....
rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 wimfltr.inf>nul
copy /Y subst.exe %windir%/system32>nul
copy /Y imagex.exe %windir%/system32>nul
goto menu


:vie
cls
cho.vbs



????????????????????


md %TEMP%\wimg>nul
imagex.exe /mount %nam% 1 %TEMP%\wimg>nul
subst b: %TEMP%\wimg>nul
echo 文件已挂载到B:盘,按任意键查看并返回主菜单!
pause>nul
PING 127.0.0.1>NUL
start b:
goto menu

:un
imagex.exe /unmount %TEMP%\wimg>nul
subst b: /d>nul
rd /q %TEMP%\wimg>nul
echo 操作完成,文件已卸载!
PING 127.0.0.1>NUL
goto menu

:res
goto end



文件2:cho.vbs

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
nam=objDialog.FileName
作者: qinchun36     时间: 2010-4-6 12:58
先在你vbs代码末尾加一行:

wscript.echo nam

然后再bat里面用

:vie
cls
for /f "delims=" %%a in ('cscript -nologo cho.vbs') do (set "nam=%%a")

md %TEMP%\wimg>nul
作者: wangyanbac     时间: 2010-4-6 13:48
谢谢你 qinchun36,果然可以这样!