Board logo

标题: 请教:BAT代码如何转成纯dos环境下合法代码 [打印本页]

作者: my8326     时间: 2008-10-5 14:08    标题: 请教: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 ]
作者: HAT     时间: 2008-10-5 16:47
set box=My%date:~2,2%%date:~5,2%%date:~8,2%KM
Win98之前的系统不允许这样扩展变量吧
作者: ceii     时间: 2008-10-5 18:11
代码中的&&在纯DOS下也是非法的。
纯DOS下不借助工具建立以年月日为名的目录,我也曾经想过,但一直没有成功,因为它不支持 %date%,不支持 date/t,也不支持将命令结果赋值给变量。
作者: knoppix7     时间: 2008-10-5 19:35
外部工具辅助..