麻烦bat命令高手们,帮我看看,下面这段代码到底哪里有问题,为啥运行的时候,总提示echo 处于关闭状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了麻烦bat命令高手们,帮我看看,下面这段代码到底哪里有问题,为啥运行的时候,总提示echo 处于关闭状态相关的知识,希望对你有一定的参考价值。

@echo off
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Google\Update\ClientState\8A69D345-D564-463c-AFF1-A69D9E530F96"
if "%errorlevel%"=="0" (
echo 成功
for /f "delims= tokens=3*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Google\Update\ClientState\8A69D345-D564-463c-AFF1-A69D9E530F96" /v "InstallerSuccessLaunchCmdLine"') do ( set str=%%a%%b )
echo %str%
) else (
echo 失败
)
pause
顺便问下,delims= tokens=3*这到底是啥意思?不懂。

参考技术A 因为echo %str% 为空或仅空白符 把 delims= 去掉再试
如果不行,配合作一个测试,把以下一长行代码 : reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Google\Update\ClientState\8A69D345-D564-463c-AFF1-A69D9E530F96" /v "InstallerSuccessLaunchCmdLine" >d:\regtem.txt
复制,然后 开始\运行cmd 之后右键粘贴 回车,找到d:\regtem.txt 把文件内容贴到追问,我再帮你解答
参考技术B @echo off

这个代码就是关闭了echo
后面的echo 如果代码后面没有文字的话就加个点
你后面要用到echo的话最好是这样
echo. (加以个英文的点)

Android这段代码执行顺序我不十分清楚,请帮我分析下,先执行哪句,再执行哪句?不要泛泛的讲线程

public class MyHandle extends Activity

private ImageView iv;
int what = 0;

//创建Handle对象
private Handler handler = new Handler()

//实现方法用来接收消息
@Override
public void handleMessage(Message msg)
switch(msg.what) //判断接收的消息
case 0:
iv.setImageResource(R.drawable.photo1);
break;
case 1:
iv.setImageResource(R.drawable.photo2);
break;
case 2:
iv.setImageResource(R.drawable.photo3);
break;


super.handleMessage(msg);


;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//取得ImageView对象
iv = (ImageView) findViewById(R.id.iv);

thread.start(); //启动线程


//新建一个线程
Thread thread = new Thread(new Runnable()

//实现run方法
@Override
public void run()
while(true)

Message msg = handler.obtainMessage();
msg.what = (what++)%3;
handler.sendMessage(msg); //发送消息
try
Thread.sleep(2000);//停止2秒
catch (InterruptedException e)
e.printStackTrace();



)
最好这样写下。1.执行.......2执行......3执行......
另外请帮我把这段代码改写下,用普通的声明属性,类,来实现,不要用匿名内部类,我好看懂谢谢!

1,执行onCreate方法,
2,启动线程 执行线程里的run()方法。
3,执行到handler.sendMessage(msg);就跳到private Handler handler = new Handler()里,

4,执行public void handleMessage(Message msg),根据传过来的msg的值,来显示图片

不用匿名内部类的话,就很简单了。单独在外面写两个类,一个继承Thread,并重载run方法,一个继承Handler,重载handlemessage方法。方法内容就跟你上面一样,
然后在Activity的onCreate方法里,定义自己的线程MyThread mThread,实例化后调用start。同理定义自己的Handle 调用方法Myhandler.handlemessage().就ok饿,我只能把思路给你,挺简单的,就是新写两个类嘛。全部写出来我没那个功夫追问

我那样写了,我自己写的继承Handler的类报"This Handler class should be static or leaks might occur (com.pms.myhandle.MyHandle.MyHand)"怎么回事啊?

另外Myhandler.handlemessage()的参数怎么写啊?如果还有错误帮忙纠正,代码如下:

追答

哦哦。Activity里不用写你自己的handl类,把handler的new在 你的myThread里,写在他的run方法。

追问

不懂,你帮忙写一下啊

追答

就是说。在你的myThread里new一个自己的handler,自己看看你的Thread中的run方法。有用到handler啊 ,肯定要定义啊。Activity中不需要用handler了

参考技术A 1:private ImageView iv;
2:int what = 0;
3:private Handler handler = new Handler()//这里是先分配内存空间,绑定参数
4:Thread thread = new Thread(new Runnable() //同3
5:public void onCreate(Bundle savedInstanceState) //按此方法内从上到下顺序执行追问

请帮我解释下Thread thread = new Thread(new Runnable() 在最后,为什么在public void onCreate(Bundle savedInstanceState) 前面执行?谢谢!

追答

java类如果有静态代码块,则首先被执行静态代码块,且只被执行一次,当实例化一个对象之后,将会首先执行非静态代码块,接着执行构造函数,再执行其他代码。
Thread thread = new Thread(new Runnable() ……; 这句是定义成员本类的变量,就是非静态代码块

追问

先执行是因为Thread thread = new Thread(new Runnable() ……
这句是类的变量,还是因为是非静态代码块啊?如果把Thread thread = new Thread(new Runnable() ……; 改为普通变量 int a=null或Thread thread = new Thread( );那执行顺序会不会变。谢谢

追答

不会变

本回答被提问者采纳

以上是关于麻烦bat命令高手们,帮我看看,下面这段代码到底哪里有问题,为啥运行的时候,总提示echo 处于关闭状态的主要内容,如果未能解决你的问题,请参考以下文章

关于Python的问题,这段代码出了啥问题,我是个菜鸟。各位高手们帮我一下,谢谢

.net高手们帮我解决一下吧!

linux运行一个TCP服务器端程序,总是提示”段错误“,麻烦帮我看看到底哪里出了问题?

请高手帮我看看下边的代码哪里错了, <?php include("conn.php"); $url=$_SERVER["REQUEST_URL"]; ?&

设置oracle11g定时自动备份,为啥没有备份?请大神们帮我看看为啥!

网页代码图片显示问题!请高手进来看看