无忧启动论坛

标题: imagex 命令批处理 [打印本页]

作者: yinyuan    时间: 2012-11-16 14:24
标题: imagex 命令批处理
有点小问题,拖动目录到提示符时,一旦遇到路径里有空格时,比如 "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 编辑 ]
作者: hyde777    时间: 2012-11-17 18:35
标题: 回复 #1 yinyuan 的帖子
看起来不错的样子.........
作者: x9tian    时间: 2012-11-18 17:34
Set hice=
Set /P hice=  把目录大包成wim文件,输入大包目录的路径,比如d:\aa 然后回车:

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


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

复制代码

作者: yinyuan    时间: 2012-11-19 20:46
多谢指点 我马上试一下
原帖由 x9tian 于 2012-11-18 17:34 发表

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

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


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

作者: yinyuan    时间: 2012-11-19 21:07
通过了 多谢3楼指点。这样用起来就方便多了。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3