标题: XP_SP2能用WIN98下DOS 不能使用
[打印本页]
作者: 635000
时间: 2006-9-1 00:15
标题: XP_SP2能用WIN98下DOS 不能使用
::XP_SP2能写内容到文件而WIN98下DOS 不能使用echo.82#>%MachineFileName%
::XP_SP2的"for"有参数可选, 而WIN98下DOS 不能选
::求高手能否修改为WIN98下DOS能用
echo off
set path=C:\BAT\
set 日期_1=060805
set MachineFileName=C:\BAT\machine_no.txt
if not exist %MachineFileName% echo.82#>%MachineFileName%
for /f %%b in (%MachineFileName%) do set machine_no=%%b
set machine_no#=0
for %%c in (01#,02#,03#,04#,05#,06#,07#,08#,09#,10#,11#,12#,13#,14#,15#,16#,17#,18#,19#,20#,21#,22#,23#,24#,25#,26#,27#,28#,29#,30#,31#,32#,33#,34#,35#,36#,37#,38#,39#,40#,41#,42#,43#,44#,45#,46#,47#,48#,49#,50#,51#,52#,53#,54#,55#,56#,57#,58#,59#,60#,61#,62#,63#,64#,65#,66#,67#,68#,69#,70#,71#,72#,73#,74#,75#,76#,77#,78#,79#,80#,81#) do if %machine_no%==%%c set machine_no#=1
if %machine_no#%==1 goto skip_1
if %machine_no#%==0 goto skip1
:fanhui
for /f %%b in (%MachineFileName%) do set machine_no=%%b
set machine_no#=0
for %%c in (01#,02#,03#,04#,05#,06#,07#,08#,09#,10#,11#,12#,13#,14#,15#,16#,17#,18#,19#,20#,21#,22#,23#,24#,25#,26#,27#,28#,29#,30#,31#,32#,33#,34#,35#,36#,37#,38#,39#,40#,41#,42#,43#,44#,45#,46#,47#,48#,49#,50#,51#,52#,53#,54#,55#,56#,57#,58#,59#,60#,61#,62#,63#,64#,65#,66#,67#,68#,69#,70#,71#,72#,73#,74#,75#,76#,77#,78#,79#,80#,81#) do if %machine_no%==%%c set machine_no#=1
if %machine_no#%==1 goto skip_3
:skip1
echo "现在的是:%machine_no%"
Set /p input= "请输入机台号:(01~82之间)机台号+回车键:" \
del %MachineFileName%
echo.%input%#> %MachineFileName%
goto fanhui
:skip_1
echo "你的QC机台号是%machine_no%,是否正确?"
set /p input= "正确:回车键; 错误时:(01~82之间)机台号+回车键!" \
if %input%=="" GOTO skip_2
if not %input%=="" GOTO skip2
:skip_3
echo "你输的是:%input%#机台号"
if %machine_no#%==0 set /p input= "正确:回车键; 错误时:(01~82之间)机台号+回车键!" \
set machine_no=%input%#
:: echo %machine_no%
if %machine_no#%==1 GOTO skip_2
if %input%=="" GOTO skip_2
:skip2
del %MachineFileName%
echo.%input%#> %MachineFileName%
for /f %%b in (%MachineFileName%) do set machine_no=%%b
set machine_no#=0
for %%c in (01#,02#,03#,04#,05#,06#,07#,08#,09#,10#,11#,12#,13#,14#,15#,16#,17#,18#,19#,20#,21#,22#,23#,24#,25#,26#,27#,28#,29#,30#,31#,32#,33#,34#,35#,36#,37#,38#,39#,40#,41#,42#,43#,44#,45#,46#,47#,48#,49#,50#,51#,52#,53#,54#,55#,56#,57#,58#,59#,60#,61#,62#,63#,64#,65#,66#,67#,68#,69#,70#,71#,72#,73#,74#,75#,76#,77#,78#,79#,80#,81#) do if %machine_no%==%%c set machine_no#=1
if %machine_no#%==0 goto skip_3
:skip_2
作者: NaturalJ0
时间: 2006-9-1 00:52
怎么个不能用法?中文无法显示?这个还能加载中文支持。不过有些功能纯 DOS 没有的。比如 SET /P 。你最好用 /? 去 DOS 下查查你所用到的所有参数。
[
Last edited by NaturalJ0 on 2006-9-1 at 00:55 ]
作者: 635000
时间: 2006-9-1 22:16
标题: XP_SP2能用WIN98下DOS 不能使用
就是提示系统错误.可用第三方软件.有没有推荐的?
作者: 635000
时间: 2006-9-3 09:03
标题: XP_SP2能用WIN98下DOS 不能使用
首先感谢"NaturalJ0兄"的回复.
english太差了,提示是语法错误.
再此表示歉意.
不过原问题还是没有解决啊.
作者: NaturalJ0
时间: 2006-9-3 09:25
纯DOS下SET不能用/P,FOR 也没有/F。这些功能你都要用其它方法来实现。
作者: 635000
时间: 2006-9-6 21:43
首先感谢NaturalJ0 "NaturalJ0兄"的回复.
现在我用带参数输入%machine_no%,折中的办法.
听说有inpu这个第三方软件可以提示输入信息.但没有找到,有不会用啊.
作者: NaturalJ0
时间: 2006-9-7 00:47
实在不好意思,第三方软件我也从没用过。还是问问其他用过的人吧。
我以前也有过输入和读取文件,但因为我当时要求的读写功能比较简单,不是复杂的读写功能,所以自己用 C 写了个 EXE 来实现功能的,在 BAT 中调用 EXE 。