中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 21:12
中国DOS联盟论坛 » 论坛回收站 » 谁帮我改改这个批处理,谢谢!
楼 主 谁帮我改改这个批处理,谢谢! 发表于 2010-04-06 12:44 ·  中国 江苏 南京 电信
新手上路
积分 5
发帖 4
注册 2010-03-19 20:11
UID 162590
性别 男
状态 离线
想写一个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
2 发表于 2010-04-06 12:58 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
UID 116706
性别 男
状态 离线
先在你vbs代码末尾加一行:

wscript.echo nam

然后再bat里面用

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

md %TEMP%\wimg>nul
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
3 发表于 2010-04-06 13:48 ·  中国 江苏 南京 电信
新手上路
积分 5
发帖 4
注册 2010-03-19 20:11
UID 162590
性别 男
状态 离线
谢谢你 qinchun36,果然可以这样!
论坛跳转: