帮忙看一下这一段bat代码,最好每行帮我解释一下.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了帮忙看一下这一段bat代码,最好每行帮我解释一下.相关的知识,希望对你有一定的参考价值。

@echo off & setlocal enabledelayedexpansion
set a=▓
set b=25
set num=1
set c=%%
set d=
:game
if %num% geq 4 set a=%a%▓
set /a b-=1
set /a num+=4
call set d=%%d:~0,%b%%%
if %num% geq 10 set c=%%
if %num% gtr 100 set num=100&set c=%%
color b
echo 进度:%num%%c%
echo %a%

ping/n 1 /w 300 99.99 >nul
if "%num%" neq "100" cls&goto game

该批处理文件在命令行窗口模拟了进度条效果。
第一行
@echo off & setlocal enabledelayedexpansion
@echo off表示对后面的命令只执行其功能但不显示命令。 默认情况下批处理文件没执行一条命令之前显示要执行的命令。加上@echo off屏蔽掉了队命令语句的显示以达到视觉效果。
setlocal enabledelayedexpansion
设置延迟变量。 在执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。在这里的作用就是把num, a,b和c作为变量以便动态设置它们的值。其实这半句可以去掉,因为一般情况下批处理文件默认的已经打开了这项功能

set a=▓
set b=25
set num=1
set c=%%
set d=
这个简单 定义四个变量。 其中A是方块序列,一开始只有一个方块,它来最终显示进度条。
b表示进度条刷新的次数, 这个例子中,进度条共刷新25次,每次前进4%。 所以b初值25.
num表示当前进度条完成的百分数。初值为1, 每次刷新增加4个百分点。
c是命令运行后显示的百分号。
d 控制循环的变量, 作用等同于判断b是否大于0,若不大于0则结束。这里定义的有些多余,其实在第四行把num=1改成num=0就可以把这行注释掉。

好了,变量解释完了,现在是命令主体:
:game
::整个过程由25次进度条刷新循环组成,这里是循环入口
if %num% geq 4 set a=%a%▓
::如果num大于等于4, 就在a后面多加一个方块,达到方块越来越多的效果
set /a b-=1
::b(剩余循环次数)减一, /a表示结果转换成10进制整数
set /a num+=4
::num(当前完成百分比)加4, /a表示结果转换成10进制整数
call set d=%%d:~0,%b%%%
::判断是否b小于0结束循环,如果不是则进入下列语句
if %num% geq 10 set c=%%
::当num(当前完成百分比)大于10的时候显示百分号
if %num% gtr 100 set num=100&set c=%%
::当num大于100时将其强制转为100
color b
::定义输出颜色蓝色
echo 进度:%num%%c%
::显示当前百分比进度(带百分号)
echo %a%
::显示模拟进度条
ping/n 1 /w 300 99.99 >nul
::延时函数,延时0.3秒
if "%num%" neq "100" cls&goto game
::如果num小于不等于100则重新进入进入循环
参考技术A 改成这样,会不会好一点??
其实这种样式的进度条,和字符移动
原理都是一样的
就是 不断的刷新屏幕
在这一秒显示一个进度,然后清屏
下一个时间,显示下一个进度,再清屏
一直这样循环,别人说出来帮助不大,你要自己尝试,才会真正的理解

@echo off& mode con cols=45 lines=10& color 0b
setlocal enabledelayedexpansion& set wind=▓
for /l %%1 in (1 1 20)do (for /l %%2 in (1 1 5)do (
set /a snow+=1&& cls&& call echo 进度:%%snow%%%%%%
call echo %%wind%%& for /l %%0 in (1 1 400)do cd.>nul)
call set wind=%%wind%%▓)
pause 1>nul

参考资料:http://zhidao.baidu.com/question/128601880.html

参考技术B 该批处理文件在命令行窗口模拟了进度条效果。
第一行
@echo off & setlocal enabledelayedexpansion
@echo off表示对后面的命令只执行其功能但不显示命令。 默认情况下批处理文件没执行一条命令之前显示要执行的命令。加上@echo off屏蔽掉了队命令语句的显示以达到视觉效果。
setlocal enabledelayedexpansion
设置延迟变量。 在执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。在这里的作用就是把num, a,b和c作为变量以便动态设置它们的值。其实这半句可以去掉,因为一般情况下批处理文件默认的已经打开了这项功能

set a=▓
set b=25
set num=1
set c=%%
set d=
这个简单 定义四个变量。 其中A是方块序列,一开始只有一个方块,它来最终显示进度条。
b表示进度条刷新的次数, 这个例子中,进度条共刷新25次,每次前进4%。 所以b初值25.
num表示当前进度条完成的百分数。初值为1, 每次刷新增加4个百分点。
c是命令运行后显示的百分号。
d 控制循环的变量, 作用等同于判断b是否大于0,若不大于0则结束。这里定义的有些多余,其实在第四行把num=1改成num=0就可以把这行注释掉。

好了,变量解释完了,现在是命令主体:
:game
::整个过程由25次进度条刷新循环组成,这里是循环入口
if %num% geq 4 set a=%a%▓
::如果num大于等于4, 就在a后面多加一个方块,达到方块越来越多的效果
set /a b-=1
::b(剩余循环次数)减一, /a表示结果转换成10进制整数
set /a num+=4
::num(当前完成百分比)加4, /a表示结果转换成10进制整数
call set d=%%d:~0,%b%%%
::判断是否b小于0结束循环,如果不是则进入下列语句
if %num% geq 10 set c=%%
::当num(当前完成百分比)大于10的时候显示百分号
if %num% gtr 100 set num=100&set c=%%
::当num大于100时将其强制转为100
color b
::定义输出颜色蓝色
echo 进度:%num%%c%
::显示当前百分比进度(带百分号)
echo %a%
::显示模拟进度条
ping/n 1 /w 300 99.99 >nul
::延时函数,延时0.3秒
if "%num%" neq "100" cls&goto game
::如果num小于不等于100则重新进入进入循环

回答者: 密码忘记了 - 六级 2010-3-6 06:25

改成这样,会不会好一点??
其实这种样式的进度条,和字符移动
原理都是一样的
就是 不断的刷新屏幕
在这一秒显示一个进度,然后清屏
下一个时间,显示下一个进度,再清屏
一直这样循环,别人说出来帮助不大,你要自己尝试,才会真正的理解

@echo off& mode con cols=45 lines=10& color 0b
setlocal enabledelayedexpansion& set wind=▓
for /l %%1 in (1 1 20)do (for /l %%2 in (1 1 5)do (
set /a snow+=1&& cls&& call echo 进度:%%snow%%%%%%
call echo %%wind%%& for /l %%0 in (1 1 400)do cd.>nul)
call set wind=%%wind%%▓)
pause 1>nul

参考资料: http://zhidao.baidu.com/question/128601880.html

参考资料:改成这样,会不会好一点??

spss回归分析结果图,帮忙看一下,麻烦详细地解释解释

非常感谢!!!所有的分都在这里了~~特别是显著性、拟合度之类的,要怎么看?

R平方就是拟合优度指标,代表了回归平方和(方差分析表中的0.244)占总平方和(方差分析表中的0.256)的比例,也称为决定系数。你的R平方值为0.951,表示X可以解释95.1%的Y值,拟合优度很高,尤其是在这么大的样本量(1017对数据点)下更是难得。

系数表格列出了自变量的显著性检验结果(使用单样本T检验)。截距项(0.000006109)的显著性为0.956(P值),表明不能拒绝截距为0的原假设;回归系数(X项)为0.908,其显著性为0.000(表明P值小于0.0005,而不是0。想看到具体的数值,可以双击该表格,再把鼠标定位于对应的格子),拒绝回归系数0.908(X项)为0的原假设,也就是回归系数不为0;标准化回归系数用于有多个自变量情况下的比较,标准化回归系数越大,该自变量的影响力越大。由于你的数据仅有一个自变量,因此不需要参考这项结果。

对于线性回归,我在百度还有其他的回答,你可以搜索进行补充。追问

还有几个问题:
R方大于多少表示拟合性好?
F值是指什么?后面的sig.又指什么?
最后一个表可以表明自变量和因变量显著相关吗?

追答

1、一般认为,相关系数达到0.1为小效应(R方0.01),0.3为中等R方0.09),0.5为大(R方0.25),这是针对自然科学的一般界限,不一定适用于你的学科。
2、在线性回归中,F值为方差分析的结果,是一个对整个回归方程的总体检验,指的是整个回归方程有没有使用价值(与随机瞎猜相比),其F值对应的Sig值小于0.05就可以认为回归方程是有用的。注意,这是对多个自变量的总体检验,而不是单个自变量(单个自变量在系数表中,为单样本T检验),由于你的数据只有一个自变量自变量,因此其结果与单变量相同。
3、确实,最后一个表可以表明自变量和因变量显著相关(因为Sig值为0.000).

参考技术A 首先来说明各个符号,B也就是beta,代表回归系数,标准化的回归系数代表自变量也就是预测变量和因变量的相关,为什么要标准化,因为标准化的时候各个自变量以及因变量的单位才能统一,使结果更精确,减少因为单位不同而造成的误差。T值就是对回归系数的t检验的结果,绝对值越大,sig就越小,sig代表t检验的显著性,在统计学上,sig<0.05一般被认为是系数检验显著,显著的意思就是你的回归系数的绝对值显著大于0,表明自变量可以有效预测因变量的变异,做出这个结论你有5%的可能会犯错误,即有95%的把握结论正确。
回归的检验首先看anova那个表,也就是F检验,那个表代表的是对你进行回归的所有自变量的回归系数的一个总体检验,如果sig<0.05,说明至少有一个自变量能够有效预测因变量,这个在写数据分析结果时一般可以不报告
然后看系数表,看标准化的回归系数是否显著,每个自变量都有一个对应的回归系数以及显著性检验
最后看模型汇总那个表,R方叫做决定系数,他是自变量可以解释的变异量占因变量总变异量的比例,代表回归方程对因变量的解释程度,调整后的R方,这个值是针对自变量的增多会不断增强预测力的一个矫正(因为即使没什么用的自变量,只要多增几个,R方也会变大,调整后的R方是对较多自变量的惩罚),R可以不用管,就是R方开根号。
以及这些都是理论讲解,其实是需要把各个指标连贯起来写成分析才好,可以使用网站在线spss就是spssau里面有智能化文字分析,里面默认就有智能文字分析出来,而且网页使用也非常方便,里面会把上述中需要的指标进行汇总成表格,直接就能使用,非常便捷。
参考技术B 拟合程度:调整的R方,0.951,显著;
方程的显著性:Anova方差检验(F检验),P值=0,方差不具有齐性,说明变量存在差异,适合回归;
系数的显著性检验:T检验:常数项的P值=0.956,接受常数项为0的原假设,方程的常数项为0;
X的系数检验P值=0,拒绝系数为0的原假设,变量X的系数为0.98.
参考技术C 模型是显著的
x也是显著的
我替别人做这类的数据分析蛮多的

以上是关于帮忙看一下这一段bat代码,最好每行帮我解释一下.的主要内容,如果未能解决你的问题,请参考以下文章

麻烦哪位高手帮忙解释一下c语言中gcd函数的用法,最好整点简单的例子,谢啦

Python代码求解释 求大神解释一下这段代码 详细点 最好每句加上注释 谢了

bat含有空格的参数传递

spss回归分析结果图,帮忙看一下,麻烦详细地解释解释

我是一个菜鸟,谁能帮忙解释一下一下代码?

在java中编写九九乘法表的程序,重要的是帮忙解释一下!