无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5102|回复: 4

imagex 命令批处理

[复制链接]
发表于 2012-11-16 14:24:09 | 显示全部楼层 |阅读模式
有点小问题,拖动目录到提示符时,一旦遇到路径里有空格时,比如 "d:\2 3\1"执行时就会自动退出,必须删掉引号在执行才行。主要是win7下拖动带空格的目录到命令提示符里时,系统会自动为带空格的路径加上引号,这时就会导致自动退出现象。

     我想问的是怎样让批处理自动去到 " " 引号。


@Echo off
Title 选择操作
:imagex
@Echo off
CLS
Echo.
Echo                  ╭══════════════╮
Echo       ╭════┫         imagex 命令        ┣════╮
Echo       ║    ╰══════════════╯    ║
Echo      ║                                                ║
Echo      ║          1. 打包目录到wim映像                  ║
Echo       ║                                             ║
Echo      ║          2. 附加目录到wim映像                  ║
Echo      ║                                                ║
Echo      ║          3. 解包wim映像到目录                  ║
Echo      ║                                                ║
Echo      ║          4. 查看wim信息                        ║
Echo      ║                                                ║
Echo      ║          5. 指定提取wim里的某个映像            ║
Echo      ║                                                ║
Echo      ║          6. 指定删除wim里的某个映像            ║
Echo      ║                                                ║
Echo      ║          7. 从WIM里输出文件列表到txt           ║
Echo      ║                                                ║
Echo      ║          0. 退出                               ║
Echo      ║                                                ║
Echo      ║     注意:拖动带空格的路径到命令提示符里时,   ║
Echo      ║                                                ║
Echo      ║  默认系统会自动加 "" 号,要把引号去掉,不然    ║
Echo      ║                                                ║
Echo      ║  会自动退出批处理。                            ║
Echo      ║                                                ║
Echo         ╰════════════════════════╯
Echo.
Set Choice=
Set /P Choice=      请选择要操作的序号 , 然后按回车:
If Not '%Choice%'=='' SET Choice=%Choice:~0,2%
If /I '%Choice%'=='1' GOTO CHUANGJIAN
If /I '%Choice%'=='2' GOTO ZENGLIANG
If /I '%Choice%'=='3' GOTO HUANYUAN
If /I '%Choice%'=='4' GOTO XINXI
If /I '%Choice%'=='5' GOTO TIQU
If /I '%Choice%'=='6' GOTO SHANCHU
If /I '%Choice%'=='7' GOTO NEIRONG
If /I '%Choice%'=='8' GOTO XITONGBEIFEN
If /I '%Choice%'=='9' GOTO XTZENGLIANG
If /I '%Choice%'=='0' EXIT
Goto imagex

:CHUANGJIAN
:Start1
Echo.
Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:
If "%hice%"=="" Goto Start1
:Start2
Echo.
Set ice=
Set /P ice= 把生成的WIM文件放到那里?请指定路径,比如e:\a.wim 然后回车:
If "%ice%"=="" Goto Start2
:Start3
Echo.
Set miaos=
Set /P miaos= 请输入WIM文件的描述,比如"我的备份",然后回车:
If "%miaos%"=="" Goto Start3
:Start4
Echo.
Echo 确认代码是否正确  把 %hice% 目录制作成 %ice% %miaos% 镜像文件
Echo.
Echo imagex.exe /capture "%hice%" "%ice%" "%miaos%" /boot /compress maximum
Echo.
PAUSE
Echo.
Echo 请耐心等候....
imagex.exe /capture "%hice%" "%ice%" "%miaos%" /boot /compress maximum /verify
Echo 创建 %ice% 镜像完成,按任意键继续 ...
Echo.
@pause >NUL
Goto imagex


:ZENGLIANG
:Start5
Echo.
Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:
If "%hice%"=="" Goto Start5
:Start6
Echo.
Set ice=
Set /P ice= 增量到那个WIM文件?请指定路径,比如e:\a.wim 然后回车:
If "%ice%"=="" Goto Start6
:Start7
Echo.
Set miaos=
Set /P miaos= 请输入增量WIM文件的描述,比如"我的备份2",然后回车:
If "%miaos%"=="" Goto Start7
:Start8
Echo.
Echo 请确认代码是正否确  把 %hice% 目录增量到 %ice% %miaos% 文件
Echo.
Echo imagex.exe /append "%hice%" "%ice%" "%miaos%" /boot /compress maximum
Echo.
PAUSE
Echo.
Echo 请耐心等候....
imagex.exe /append "%hice%" "%ice%" "%miaos%" /boot /compress maximum /verify
Echo 创建增量 %ice% 镜像完成,按任意键继续 ...
@pause >NUL
Goto imagex


:HUANYUAN
:Start9
Echo.
Set hice=
Set /P hice=  解包那个WIM文件?输入wim文件的路径。如 D:\A.WIM 然后回车:
If "%hice%"=="" Goto Start9
:Start10
Echo.
Set ice=
Set /P ice= 解包到那里?输入目录路径。比如 C: 然后回车:
If "%ice%"=="" Goto Start10
:Start11
Echo.
Set miaos=
Set /P miaos= 使用WIM文件里的那个镜像还原?请选择。比如 1 ,然后回车:
If "%miaos%"=="" Goto Start11
:Start12
Echo.
Echo 确认代码是否正确  把 %hice% %miaos% 还原到 %ice% 目录
Echo.
Echo imagex.exe /apply "%hice%" "%miaos%" "%ice%"
Echo.
PAUSE
Echo.
Echo 请耐心等候....
imagex.exe /apply "%hice%" "%miaos%" "%ice%"
Echo 还原 %ice% 完成,按任意键继续 ...
Echo.
@pause >NUL
Goto imagex

:XINXI
:Start13
Echo.
Set hice=
Set /P hice=  查看那个WIM文件的信息?请输入它的路径。比如D:\A.WIM 然后回车:
If "%hice%"=="" Goto Start13
Echo.
imagex /info %hice%
Echo 查看 %hice% 信息已完成,按任意键继续 ..
Echo.
Echo.
@pause >NUL
Goto imagex

:TIQU
:Start15
Echo.
Set hice=
Set /P hice=  提取那个WIM文件里的镜像?请指定文件。比如D:\A.WIM 然后回车:
If "%hice%"=="" Goto Start15
:Start16
Echo.
Set miaos=
Set /P miaos= 指定提取源WIM文件里那个镜像,比如 1 ,然后回车:
If "%miaos%"=="" Goto Start16
:Start17
Echo.
Set ice=
Set /P ice= 提取出的WIM文件存放在那里?请输入路径。比如E:\bbb.wim 然后回车:
If "%ice%"=="" Goto Start17
:Start18
Echo.
Echo 确认代码是正否确  把%hice%里的第"%miaos%"个镜像提取到%ice%
Echo.
Echo imagex.exe /export "%hice%" "%miaos%" "%ice%"
Echo.
PAUSE
Echo.
Echo 请耐心等候....
imagex.exe /export "%hice%" "%miaos%" "%ice%"
Echo 提取 %ice% 完成,按任意键继续 ...
Echo.
@pause >NUL
Goto imagex

:SHANCHU
:Start19
Echo.
Set hice=
Set /P hice=  删除那个WIM文件里的镜像?请指定路径。比如D:\A.WIM 然后回车:
If "%hice%"=="" Goto Start19
Echo.
:Start120
Set miaos=
Set /P miaos= 指定删除WIM文件里那个镜像,比如 1 ,然后回车:
If "%miaos%"=="" Goto Start20
Echo.
:Start21
Echo.
Echo 确认代码是否正确  删除%hice%里的第"%miaos%"个镜像
Echo.
Echo imagex.exe /delete "%hice%" "%miaos%"
Echo.
PAUSE
Echo.
Echo 请耐心等候....
imagex.exe /delete "%hice%" "%miaos%"
Echo 删除 %hice% %miaos% 完成,按任意键继续 ...
Echo.
@pause >NUL
Goto imagex

:NEIRONG
:Start22
Echo.
Set hice=
Set /P hice=  指定要查看的WIM文件路径,比如D:\A.WIM 然后回车:
If "%hice%"=="" Goto Start22
:Start123
Echo.
Set miaos=
Set /P miaos= 指定要查看WIM文件里那个镜像。比如 1 ,然后回车:
If "%miaos%"=="" Goto Start23
Echo.
imagex.exe /dir "%hice%" "%miaos%" >"%~dp0文件列表.txt"
Echo 输出 %hice% "%miaos%" 文件列表已完成  存放在本批处理所在目录
Echo.
@PAUSE >NUL
Goto imagex



.==

[ 本帖最后由 yinyuan 于 2012-11-18 12:34 编辑 ]
发表于 2012-11-17 18:35:17 | 显示全部楼层

回复 #1 yinyuan 的帖子

看起来不错的样子.........
回复

使用道具 举报

发表于 2012-11-18 17:34:22 | 显示全部楼层
Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:

改成如下,  所有类试的都如下修改


  1. Set hice=
  2. Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:
  3. set hice=%hice:"=%

复制代码
回复

使用道具 举报

 楼主| 发表于 2012-11-19 20:46:19 | 显示全部楼层
多谢指点 我马上试一下
原帖由 x9tian 于 2012-11-18 17:34 发表

Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:

改成如下,  所有类试的都如下修改


Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如 ...
回复

使用道具 举报

 楼主| 发表于 2012-11-19 21:07:27 | 显示全部楼层
通过了 多谢3楼指点。这样用起来就方便多了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-28 17:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表