|
有点小问题,拖动目录到提示符时,一旦遇到路径里有空格时,比如 "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 编辑 ] |
|