Board logo

标题: [系统相关] [求助]PE中fomat命令的困惑 [打印本页]

作者: crist    时间: 2014-2-19 16:19     标题: [求助]PE中fomat命令的困惑

PE环境是SKYPE
批处理代码如下
  1. @echo off
  2. pushd %~dp0
  3. title %~n0
  4. color 0a
  5. cls
  6. echo ---------------------------------------------------------------------------
  7. echo    全新安装: Windows XP Professional With SP3
  8. echo.
  9. echo    特别提示:1. 使用PE安装系统时本ISO镜像不可放于USB设备之中!
  10. echo              2. 必须在windows安装程序复制安装文件前拔出所有可存储USB设备!
  11. echo.     
  12. echo ---------------------------------------------------------------------------
  13. SET /P drive_letter=   第一步,输入你需要安装 Windows XP 的目标分区(如C):
  14. echo.
  15. if /I "%drive_letter%"=="" goto ST
  16. if /I not "%drive_letter%"=="" set drive_letter=%drive_letter:~0,1%
  17. set CHS=
  18. set /p CHS=   第二步,是否自动格式化 %drive_letter% 盘[Y/N]:
  19. IF /I "%CHS%"=="Y" GOTO FM
  20. IF /I "%CHS%"=="N" GOTO IN
  21. :FM
  22. echo            正在格式化 %drive_letter% 盘,请稍候. . .
  23. FOR /F "TOKENS=4*" %%I IN ('VOL %drive_letter%:') DO SET VN=%%I
  24. IF "%VN%"=="" (
  25. FORMAT %drive_letter%: /FS:NTFS /Q /X /Y
  26. ) ELSE (
  27. FORMAT %drive_letter%: /V:%VN% /FS:NTFS /Q /X /Y
  28. )
  29. echo            格式化操作结束
  30. GOTO IN
复制代码
问题1:为何批处理放的位置不同会导致结果的不同呢?
问题2:当要格式化的分区原卷标含有空格时会判断卷标出错,请问应该如何解决?
作者: DAIC    时间: 2014-2-19 17:23

在26行、28行的format命令上面分别加一句:
  1. echo 获取到的卷标是 ===%VN%===
复制代码

作者: terse    时间: 2014-2-19 17:36

24行 这样试呢
  1. FOR /F "TOKENS=3*" %%I IN ('VOL %drive_letter%:') DO SET VN=%%J
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2