中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [研究讨论] 安装系统高级技术的若干问题!
作者:
标题: [研究讨论] 安装系统高级技术的若干问题! 上一主题 | 下一主题
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『楼 主』:  [研究讨论] 安装系统高级技术的若干问题!

[研究讨论] 安装系统高级技术的若干问题!


设想:

1、插入 U 盘,在现有的 XPSP2 的 CMD 环境下,运行 Devcon 程序备份系统新增的驱动(oem?.inf)到U盘的 Drivers 目录下;
由 fastslz 此贴略加修改基本上可以完成:http://www.cn-dos.net/forum/view ... mp;highlight=devcon



2、运行自制批处理 DATAMOVE.CMD 备份系统的我的文档、图片收藏夹、我的音乐、我的邮件等等到 U 盘的 My Documents 目录下;
由 lxmxn 解答的此贴可供参考:http://www.cn-dos.net/forum/view ... ght=%2Bchishingchan
批处理如下:
@echo off
title 命令提示符
if "%1"=="/?" goto help
if "%1"=="/h" goto help
if "%1"=="/H" goto help
if "%1"=="/u" goto original
if "%1"=="/U" goto original
:: for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul^|findstr "Microsoft"') do @set V=%%b
:: if "%V%"=="" echo This program cannot be run in DOS mode.
:: goto end
title 复制并转移系统资料文件夹向导
:input
cls
echo 当前系统资料文件夹名称及位置。如显示不完整,请按 U 键恢复一次。
echo.
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal ^|findstr "Personal"') do @set MD=%%b
echo 『我的文档』
echo %MD%
for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" ^|findstr "Music"') do @set MM=%%b
echo 『我的音乐』
echo %MM%
for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" 2^>nul^|findstr "Video"') do @set MV=%%b
echo 『我的视频』
echo %MV%
for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" ^|findstr "Pictures"') do @set MP=%%b
echo 『图片收藏夹』
echo %MP%
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites ^|findstr "Favorites"') do @set F=%%b
echo 『收藏夹』
echo %F%
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache ^|findstr "Temporary"') do @set Ca=%%b
echo 『Cache』
echo %Ca%
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cookies ^|findstr "Cookies"') do @set Co=%%b
echo 『Cookies』
echo %Co%
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v History ^|findstr "History"') do @set H=%%b
echo 『History』
echo %H%
for /f "tokens=2 delims={}" %%a in ('REG QUERY HKCU\Identities /v "Default User ID" 2^>nul^|findstr /i "Default"') do @set O=%%a
for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Identities\{%O%}\Software\Microsoft\Outlook Express\5.0" /v "Store Root" 2^>nul^|findstr "Store"') do @set OE=%%b
echo 『Outlook Express』
echo %OE%
for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Environment" /v TEMP ^|findstr "TEMP"') do @set T=%%b
echo 『TEMP』
echo %T%
echo.
set /P OK="请输入一个指令或目标驱动器:[H | Q | U | drive:] "
if "%OK%"=="h" set h=1&&goto help
if "%OK%"=="H" set h=1&&goto help
if "%OK%"=="q" echo.&&echo 正在退出. . .&&call :ProcDelay 200&&goto end
if "%OK%"=="Q" echo.&&echo 正在退出. . .&&call :ProcDelay 200&&goto end
if "%OK%"=="u" goto original
if "%OK%"=="U" goto original
if not exist %OK%\nul goto input
if exist "%MD%\*.*" xcopy "%MD%\*.*" "%OK%\My Documents" /i /q /h /r /y >nul 2>nul
if exist "%Co%\*.*" xcopy "%Co%\*.*" "%OK%\My Documents\Cookies" /s /i /q /h /r /y >nul 2>nul
if exist "%F%\*.*" xcopy "%F%\*.url" "%OK%\My Documents\Favorites" /s /i /q /h /r /y >nul 2>nul
if exist "%H%\*.*" xcopy "%H%\*.*" "%OK%\My Documents\History" /s /i /q /h /r /y >nul 2>nul
if exist "%MM%\*.*" xcopy "%MM%\*.*" "%OK%\My Documents\My Music" /s /i /q /h /r /y >nul 2>nul
if exist "%MP%\*.*" xcopy "%MP%\*.*" "%OK%\My Documents\My Pictures" /s /i /q /h /r /y >nul 2>nul
if exist "%MV%\*.*" xcopy "%MV%\*.*" "%OK%\My Documents\My Videos" /s /i /q /h /r /y >nul 2>nul
if exist "%OE%\*.*" xcopy "%OE%\*.*" "%OK%\My Documents\Outlook Express" /s /i /q /h /r /y >nul 2>nul
if exist "%Ca%\*.*" xcopy "%Ca%\*.*" "%OK%\My Documents\Temporary Internet Files" /s /i /q /h /r /y >nul 2>nul
reg delete "HKCU\Identities\{%O%}" /f>nul
reg add "HKCU\Environment" /v "TEMP" /t REG_EXPAND_SZ /d "%OK%\My Documents\Temp" /f>nul
reg add "HKCU\Environment" /v "TMP" /t REG_EXPAND_SZ /d "%OK%\My Documents\Temp" /f>nul
reg add "HKCU\Identities" /v "Default User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities" /v "Last User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities\{88888888-8888-8888-8888-888888888888}" /v "User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities\{88888888-8888-8888-8888-888888888888}\Software\Microsoft\Outlook Express\5.0" /v "Store Root" /t REG_EXPAND_SZ /d "%OK%\My Documents\Outlook Express\\" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cache" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cookies" /t REG_SZ /d "%OK%\My Documents\Cookies" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites" /t REG_SZ /d "%OK%\My Documents\Favorites" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "History" /t REG_SZ /d "%OK%\My Documents\History" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d "%OK%\My Documents\My Music" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" /t REG_SZ /d "%OK%\My Documents\My Pictures" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d "%OK%\My Documents\My Videos" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" /t REG_SZ /d "%OK%\My Documents\My Documents" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cache" /t REG_EXPAND_SZ /d "%OK%\My Documents\Temporary Internet Files" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cookies" /t REG_EXPAND_SZ /d "%OK%\My Documents\Cookies" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Favorites" /t REG_EXPAND_SZ /d "%OK%\My Documents\Favorites" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "History" /t REG_EXPAND_SZ /d "%OK%\My Documents\History" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures" /t REG_EXPAND_SZ /d "%OK%\My Documents\My Pictures" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal" /t REG_EXPAND_SZ /d "%OK%\My Documents" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths" /v "Directory" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files\Content.IE5" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path1" /v "CachePath" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files\Content.IE5\Cache1" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path2" /v "CachePath" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files\Content.IE5\Cache2" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path3" /v "CachePath" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files\Content.IE5\Cache3" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path4" /v "CachePath" /t REG_SZ /d "%OK%\My Documents\Temporary Internet Files\Content.IE5\Cache4" /f>nul
echo.
echo 文件夹内容已经复制;注册表信息已经更改,重新启动后生效!
call :ProcDelay 400
goto end
:original
reg add "HKCU\Environment" /v "TEMP" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Local Settings\Temp" /f>nul
reg add "HKCU\Environment" /v "TMP" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Local Settings\Temp" /f>nul
reg add "HKCU\Identities" /v "Default User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities" /v "Last User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities\{88888888-8888-8888-8888-888888888888}" /v "User ID" /t REG_SZ /d "{88888888-8888-8888-8888-888888888888}" /f>nul
reg add "HKCU\Identities\{88888888-8888-8888-8888-888888888888}\Software\Microsoft\Outlook Express\5.0" /v "Store Root" /t REG_EXPAND_SZ /d "%UserProfile%\Local Settings\Application Data\Identities\{88888888-8888-8888-8888-888888888888}\Microsoft\Outlook Express\\" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cache" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cookies" /t REG_SZ /d "%USERPROFILE%\Cookies" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites" /t REG_SZ /d "%USERPROFILE%\Favorites" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "History" /t REG_SZ /d "%USERPROFILE%\Local Settings\History" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d "%USERPROFILE%\My Documents\My Music" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" /t REG_SZ /d "%USERPROFILE%\My Documents\My Pictures" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d "%USERPROFILE%\My Documents\My Videos" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" /t REG_SZ /d "%USERPROFILE%\My Documents" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cache" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Local Settings\Temporary Internet Files" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cookies" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Cookies" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Favorites" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Favorites" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "History" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Local Settings\History" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\My Documents\My Pictures" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal" /t REG_EXPAND_SZ /d "%%USERPROFILE%%\My Documents" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths" /v "Directory" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path1" /v "CachePath" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5\Cache1" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path2" /v "CachePath" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5\Cache2" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path3" /v "CachePath" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5\Cache3" /f>nul
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path4" /v "CachePath" /t REG_SZ /d "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5\Cache4" /f>nul
echo.
echo 注册表信息已经恢复,重新启动后生效!
call :ProcDelay 400
goto end
:help
if "%h%"=="1" echo.
echo 复制并转移系统资料文件夹。
echo.
echo DATAMOVE [drive:] [/U] [/Q] [/H]
echo.
echo   drive:  指定您想转移到的目标驱动器
echo   /U      恢复系统默认值
echo   /Q      向导中退出
echo   /H      显示帮助信息
echo.
echo 不加任何参数键入 DATAMOVE,可以启动一个向导。
echo.
echo 目标驱动器将自动添加文件夹路径 My Documents。
echo.
echo 命令行开关 /U 会将更改过的系统注册表信息还原。
echo 它不会还原回您之前已更改系统的任何值,而直接
echo 还原回系统的默认值。
echo.
if "%h%"=="1" pause&&set h=&&goto input
goto end

:ProcDelay number
Setlocal EnableExtensions
for /f "tokens=1-4 delims=:. " %%h in ("%TIME%") do set start_=%%h%%i%%j%%k
     :wait_
     for /f "tokens=1-4 delims=:. " %%h in ("%TIME%") do set now_=%%h%%i%%j%%k
     set /a diff_=%now_%-%start_%
if %diff_% lss %1 goto wait_
Endlocal

:end
set MD=
set MM=
set MV=
set MP=
set F=
set Ca=
set Co=
set H=
set OE=
set T=
set OK=



3、运行自制批处理 DOS.CMD 使用 C: 支持 DOS 的启动;
由 Climbing 解答的此帖可以完成:http://www.cn-dos.net/forum/viewthread.php?tid=35893&fpage=1
可参考 6、的部分代码



4、运行 Gdisk32 智能生成硬盘分区脚本,重启后由 Gdisk 执行分区,再重启由光盘启动安装系统;
有待解决!



5、系统安装备份的驱动程序后,再运行自制批处理 DOS.CMD 使用 C: 支持 DOS 的启动;
可参考 6、的部分代码



6、运行自制批处理 PS.CMD 修改启动菜单,让系统拥有影子功能的同时支持备份及恢复的菜单。
批处理如下:
@echo off
attrib c:\*.* -s -h -r -a
if not exist c:\boot.ini goto end
for /f "delims== tokens=1" %%a in ('type c:\boot.ini^|find "XP Professional"') do @set sys=%%a
if %sys%=="" goto end
if not exist c:\boot.bak copy c:\boot.ini c:\boot.bak>nul
inifile c:\boot.ini [boot loader] timeout=5
inifile c:\boot.ini [operating systems] /remove
echo [operating systems]>>c:\boot.ini
echo %sys%="系统保护,只保护系统分区数据完整。   " /noexecute=optin /fastdetect /SHADOWSYSTEM>>c:\boot.ini
echo %sys%="没有保护,Windows XP Professional    " /noexecute=optin /fastdetect>>c:\boot.ini
echo %sys%="超级保护,保护全部的硬盘数据完整。   " /noexecute=optin /fastdetect /SHADOWALL>>c:\boot.ini
if exist c:\bootsect.dos del c:\bootsect.dos /q>nul
if exist c:\command.com del c:\command.com /q>nul
if exist c:\io.sys del c:\io.sys /q>nul
if exist c:\msdos.sys del c:\msdos.sys /q>nul
bootpart win98 c:\bootsect.dos>nul
copy command.com c:\ /y>nul
copy io.sys c:\ /y>nul
echo C:\="系统恢复,请注意备份你的重要资料。   ">>c:\boot.ini
copy SnpShot.sys "%WinDir%\System32\drivers" /y>nul
reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} /v UpperFilters /t REG_MULTI_SZ /d "snpshot"\0"PartMgr" /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v ErrorControl /t REG_DWORD /d 1 /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v Group /t REG_SZ /d Filter /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v Reference /t REG_DWORD /d 0 /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v Start /t REG_DWORD /d 0 /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v Tag /t REG_DWORD /d 10 /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot /v Type /t REG_DWORD /d 1 /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot\Info /v 1 /t REG_SZ /d cYzYiii /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot\Info /v 2 /t REG_SZ /d 00wXejwZ1hpXpZyWWW0W3myuZo3oii /f >nul
reg add HKLM\SYSTEM\CurrentControlSet\Services\snpshot\Info /v 3 /t REG_SZ /d uJR9MxC58JR /f >nul
:end
attrib c:\boot.* +s +h
attrib c:\bootfont.bin +s +h
attrib c:\bootsect.dos +s +h
attrib c:\command.com +s +h
attrib c:\io.sys +s +h
attrib c:\ntdetect.com +s +h
attrib c:\ntldr +s +h
set sys=



第 4 项要求:
使用 Gdisk32 检测硬盘空间,各容量硬盘(例如 20G、40G、60G、80G 120G 160G...)分区如下:

一个主分区:20G~40G硬盘=8G;60G~80G硬盘=16G;80G以上硬盘=20G
一个扩展分区:硬盘除主分区的剩余容量
若干逻辑分区:硬盘除主分区及最后逻辑分区的剩余容量等分几份,每份不少于8G、不大于40G。
最后一个逻辑分区作备份用:1G~3G

生成的分区脚本重启到 DOS 方式后由 Gdisk 执行

注:附件批处理可能还有不妥当的地方请多多指教,谢谢!

因论坛空间已满了,附件发不上来。相关的附件需另外下载:

1、devcon.exe
4、gdisk32.exe、gdisk.exe
3、5、6、bootpart.exe、io.sys、command.com、SnpShot.sys

[ Last edited by chishingchan on 2007-12-9 at 02:18 PM ]

   此帖被 +4 点积分     点击查看详情   
评分人:【 AlexZhang 分数: +4  时间:2007-12-9 01:37


2007-12-8 20:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 2 楼』:  

先泼一下冷水,这个和 DOS 无关,研究这个问题是在为 Windows 服务。

   此帖被 +2 点积分    点击查看详情   
评分人:【 AlexZhang 分数: +2  时间:2007-12-9 01:34




DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2007-12-8 21:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by DOSforever at 2007-12-8 09:21 PM:
先泼一下冷水,这个和 DOS 无关,研究这个问题是在为 Windows 服务。

我只求第4项的批处理技术,也算是批处理的提问范畴,如果真的发错位置,那就请版主转移。

2007-12-8 21:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
系统支持





积分 952
发帖 410
注册 2007-2-8
状态 离线
『第 4 楼』:  

也算是batch的范畴吧...
应该放在P处理室 lz以为呢?
或者Windows系列、Unix/Linux及其它操作系统综合讨论区 ?
先加分吧...难得整理这么长时间

2007-12-9 01:33
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 5 楼』:  

多谢版主加分,但希望问题得到解答,是否还需在p处理室重发贴呢?谢谢!

2007-12-9 01:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 6 楼』:  

没有太大的实用价值,自动化不等于最优化。

以分区为例,我从来认为,操作系统的主分区(以xp为例),4个G就足够了,无论硬盘是多大都是如此,再多就是浪费。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-12-9 13:54
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by Climbing at 2007-12-9 01:54 PM:
没有太大的实用价值,自动化不等于最优化。

以分区为例,我从来认为,操作系统的主分区(以xp为例),4个G就足够了,无论硬盘是多大都是如此,再多就是浪费。

如果系统主分区分成4G,我也觉得足够,况且我装的是精简版的XPSP2,我不喜欢系统跟启动装在一起的,我的系统装 D 盘的。但考虑到通用性不足!(例如这台电脑以后想升级为VISTA呢?难道又要重新分区吗?)各有所好,顶楼内容 lxmxn 版主、Climbing 帮忙不少,现在这个难题能否再次麻烦指教一下?谢谢!

[ Last edited by chishingchan on 2007-12-9 at 02:27 PM ]

2007-12-9 14:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 8 楼』:  

看了半天,不知道有什么麻烦?



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-12-9 20:45
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by Climbing at 2007-12-9 08:45 PM:
看了半天,不知道有什么麻烦?

4、运行 Gdisk32 智能生成硬盘分区脚本,重启后由 Gdisk 执行分区,再重启由光盘启动安装系统;
有待解决!

第 4 项要求:
使用 Gdisk32 检测硬盘空间,各容量硬盘(例如 20G、40G、60G、80G 120G 160G...)分区如下:

一个主分区:20G~40G硬盘=8G;60G~80G硬盘=16G;80G以上硬盘=20G
一个扩展分区:硬盘除主分区的剩余容量
若干逻辑分区:硬盘除主分区及最后逻辑分区的剩余容量等分几份,每份不少于8G、不大于40G。
最后一个逻辑分区作备份用:1G~3G

生成的分区脚本重启到 DOS 方式后由 Gdisk 执行

你的回复我心领了,跟我的问题都不沾边的。回复些有实用性有价值的,我会感激你的。

2007-12-10 11:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 10 楼』:  

抛砖引玉吧:
:: gen_gdisk_batch.cmd  自动生成gdisk分区批处理脚本
:: 作者:Climbing(xclimbing@msn.com)
:: 创建日期:2007.12.10
:: 原始链接:http://www.cn-dos.net/forum/viewthread.php?tid=36097
@set _debug=
@echo %_debug% off & SETLOCAL ENABLEDELAYEDEXPANSION
:: 取出硬盘总容量(默认第1块硬盘)
for /f "tokens=6" %%i in ('gdisk32 ^| findstr /R /C:"^  1"') do set totalsize=%%i

set /a t1=80*1024
set /a t2=60*1024
set /a hpasize=3*1024
set prisize=
if %totalsize% GEQ %t1% set /a prisize = 20*1024
if not defined prisize if %totalsize% GEQ %t1% set /a prisize=16*1024
if not defined prisize set /a prisize=8*1024

set extsize=%totalsize%
set /a extsize-=%hpasize%
set /a extsize-=%prisize%

set /a logmin=8*1024
set /a logmax=40*1024

set logsize=
set logcount=
if %extsize% LEQ %logmax% set logsize=%extsize% && set logcount=1
if defined logsize goto _gen

:_div2
set tlogsize=%extsize%
set /a tlogsize/=2
if %tlogsize% LEQ %logmax% set logsize=%tlogsize% && set logcount=2
if defined logsize goto _gen

:_div3
set tlogsize=%extsize%
set /a tlogsize/=3
if %tlogsize% LEQ %logmax% set logsize=%tlogsize% && set logcount=3
if defined logsize goto _gen

:_div4
set tlogsize=%extsize%
set /a tlogsize/=4
if %tlogsize% LEQ %logmax% set logsize=%tlogsize% && set logcount=4
if defined logsize goto _gen

:_div5
set tlogsize=%extsize%
set /a tlogsize/=5
if %tlogsize% LEQ %logmax% set logsize=%tlogsize% && set logcount=5
if defined logsize goto _gen

:_gen
set gbatch=gdisk.gg

> %gbatch% echo # gdisk batch file, usage: gdisk 1 /batch:%gbatch% /y
>> %gbatch% echo # delete all partitions
>> %gbatch% echo /del /all
>> %gbatch% echo # create partitions
>> %gbatch% echo /cre /pri /SZ:%prisize% /for /q
>> %gbatch% echo /act /p:1
>> %gbatch% echo /cre /ext
for /l %%i in (1,1,%logcount%) do echo /cre /log /SZ:%logsize% /for /q >> %gbatch%
>> %gbatch% echo /cre /log /for /q

:_exit
ENDLOCAL
[ Last edited by Climbing on 2007-12-10 at 03:07 PM ]



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-12-10 15:02
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 11 楼』:  

谢谢!试用后再答复。

2007-12-10 17:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 12 楼』:  

我没有亲自试验生成的gdisk脚本是否可用,无论如何,都不可能一步到位,需要根据实际情况慢慢完善。建议先在虚拟机中试验,可立见真伪。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-12-10 17:37
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: