中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]在开始启动菜单中隐藏运行批处理的怪事
作者:
标题: [已结]在开始启动菜单中隐藏运行批处理的怪事 上一主题 | 下一主题
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『楼 主』:  [已结]在开始启动菜单中隐藏运行批处理的怪事


if "%1"=="" start mshta vbscript:CreateObject("WScript.Shell").run("%~nx0 h",0)(window.close)&&exit
此代码是隐藏运行批处理的..我写了个批处理..把此批处理放到开始"启动"里面..
然后电脑一开机就提示脚本错误...说找不到文件...

可是我直接手动运行是可以的啊。真的不知道为什么哪里错了.难道加到启动项里,开机运行的形式哪里不相同了吗?/
还请各位高手帮忙解决...

[ Last edited by HAT on 2008-12-5 at 13:57 ]

2008-12-4 19:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 2 楼』:  

怎么没人来看看,郁闷了

2008-12-4 20:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 3 楼』:  

试试把 %~nx0 改成 %0

2008-12-4 20:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 4 楼』:  

回TREE兄,之前已经测试过,没有用,一样的错误..
此问题着实让人郁闷啊。

2008-12-4 20:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  

这样试试呢?
run("""%~0"" h",0)

2008-12-4 22:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 6 楼』:  

估计又要用ping进行延时处理

这种情况偶碰到很多的,个人理解为在某某启动时刻不能运行一些命令所以只能用ping进行延时处理直到进入桌面或者某种时刻才能运行.
以前用.cmd运行sc控制服务的批处理可以放置在计算机启动阶段运行.
后来用nsi封装为.exe文件就只能在用户启动阶段运行.
差别一个用cmd.exe运行一个需要用到wscript.exe



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-12-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 7 楼』:  

回LXMXN哥哥..没用的,这个方法我也测试过.

回楼上的DATO兄,我也是这么认为的,后来我解决了.用如下方式解决...
@echo off
if not exist "%USERPROFILE%\「开始」菜单\程序\启动\hide.vbs" call :add

:loop
.............................
goto :loop

:add
echo Dim Wsh>"%USERPROFILE%\「开始」菜单\程序\启动\hide.vbs"
echo Set Wsh = WScript.CreateObject("WScript.Shell")>>"%USERPROFILE%\「开始」菜单\程序\启动\hide.vbs"
echo WScript.Sleep(0)>>"%USERPROFILE%\「开始」菜单\程序\启动\hide.vbs"
echo Wsh.Run "C:\windows\chuli.bat",false,false>>"%USERPROFILE%\「开始」菜单\程序\启动\hide.vbs"
copy /y "%~nx0" "c:\windows\">nul
start mshta vbscript:CreateObject("WScript.Shell").Run("%~NX0",0)(window.close)&&exit
goto :eof
[ Last edited by hackate on 2008-12-5 at 13:07 ]

   此帖被 +4 点积分     点击查看详情   
评分人:【 HAT 分数: +2  时间:2008-12-5 13:55
评分人:【 ysc 分数: +2  时间:2009-11-21 09:29


2008-12-5 13:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
5551551
初级用户





积分 37
发帖 39
注册 2007-12-7
状态 离线
『第 8 楼』:  

这个贴子值得收藏

2008-12-5 19:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fjdragon
新手上路





积分 3
发帖 2
注册 2006-11-2
状态 离线
『第 9 楼』:  

不错不错呀

2009-2-11 11:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 10 楼』:  

其实应该直接把:
start mshta vbscript:CreateObject("WScript.Shell").Run("%~NX0",0)(window.close)&&exit
中的Run("%~NX0",0) 改成:
Run("%~f0",0) 或者Run("%~dpnx0",0)
就可以了吧

   此帖被 +2 点积分    点击查看详情   
评分人:【 5551551 分数: +2  时间:2009-2-21 21:34




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-11 12:59
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
ddd010
新手上路





积分 15
发帖 12
注册 2008-12-1
状态 离线
『第 11 楼』:  

学习。其实DATO的说法很实用。

2009-11-19 18:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: