中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 01:26
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教:BAT代码如何转成纯dos环境下合法代码
可打印版本  674 / 3
第1楼 my8326 发表于 2008-10-05 14:08
新手上路 发帖 5 积分 14 来自 湖北省武汉市
请教:BAT代码如何转成纯dos环境下合法代码
XP环境有1代码是经验证完全正确的BAT语句(因为XP环境下SAM文件的不可操作性,故在D:\中建立SAM相同的目录并对BAT作相对应修改而验证!)
回到纯DOS环境下运行却报告有许多错误!请高手帮忙斧正,谢谢!(提示:本段代码中要求在纯DOS环境下建立以年月日为名的目录,这也是实现本段程序无严重后果的关键手段)

@echo off
echo.
echo.==========================
echo. ☆ 系统正作自动判断.请稍候....
echo.==========================
echo.
set w2k=winNT\system32\cofig
set wxp=windows\system32\cofig
set box=My%date:~2,2%%date:~5,2%%date:~8,2%KM
if exist c:\windNT\*.* goto win2000
if not exist c:\%wxp%\%box%\ md c:\%wxp%\%box%\
if exist c:\%wxp%\%box%\sam move c:\%wxp%\%box%\sam c:\%wxp%\sam >nul && goto goodbye
copy c:\%wxp%\sam c:\%wxp%\%box%\sam >nul && A:\xp2000MM.exe
goto goodbye
REM ============================================================================
:win2000
if not exist c:\%w2K%\%box%\ md c:\%w2K%\%box%\
if exist c:\%w2K%\%box%\sam move c:\%w2K%\%box%\sam c:\%w2K%\sam >nul && goto goodbye
copy c:\%w2K%\sam c:\%w2K%\%box%\sam >nul && A:\xp2000MM.exe
REM ============================================================================
:goodbye
echo.
echo.
echo.
echo.
echo.
echo.
echo.==================================================
echo. ☆ It's OK. ☆ The game is over !
echo.==================================================

[ Last edited by my8326 on 2008-10-5 at 14:17 ]
第2楼 HAT 发表于 2008-10-05 16:47
版主 发帖 5,017 积分 9,023
set box=My%date:~2,2%%date:~5,2%%date:~8,2%KM
Win98之前的系统不允许这样扩展变量吧
第3楼 ceii 发表于 2008-10-05 18:11
初级用户 发帖 45 积分 115
代码中的&&在纯DOS下也是非法的。
纯DOS下不借助工具建立以年月日为名的目录,我也曾经想过,但一直没有成功,因为它不支持 %date%,不支持 date/t,也不支持将命令结果赋值给变量。
第4楼 knoppix7 发表于 2008-10-05 19:35
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
外部工具辅助..
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023