中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何这样执行批处理代码?从txt和从粘贴板
« [1] [2] [3] »
作者:
标题: 如何这样执行批处理代码?从txt和从粘贴板 上一主题 | 下一主题
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 16 楼』:  

虽然我不会,我帮你顶起来。他们肯定知道。



综合型编程论坛

我的作品索引
  
2009-9-9 03:48
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
xiaofei120
新手上路





积分 14
发帖 14
注册 2009-9-8
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by loquat at 2009-9-6 10:41:
del /f %0
这个怎么写到text.bat中去???

echo del /f %%0 >>test.bat  这样就可以了!

2009-9-9 07:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 18 楼』:  

这句话如果在批处理里面执行…… %0 可能就是 执行重定向的批处理的路径。



综合型编程论坛

我的作品索引
  
2009-9-9 07:58
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 19 楼』:  



  Quote:
Originally posted by xiaofei120 at 2009-9-9 07:10:





echo del /f %%0 >>test.bat  这样就可以了!

写进去没用。。。
@echo off
:其中将剪贴板的文本保存为text.bat的作者为清风——地址:http://bbs.verybat.org/viewthread.php?tid=11762
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("text.bat",2,true).writeline(CreateObject("htmlfile").parentwindow.clipboarddata.getdata("text"))(window.close)
echo del /f %%0 >>text.bat
::start /w notepad text.bat
start text.bat


2009-9-9 13:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 20 楼』:  

发现上面代码可行。
但是运行后无论怎么改都会在CMD中输出“找不到批处理文件。”
怎么去掉这个提示。
>nul 2>nul 加到哪个位置???

2009-9-9 14:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 21 楼』:  

和伤脑筋的批处理还有一点点差距啊。
人家的没有这个错误提示。。。



[ Last edited by loquat on 2009-9-10 at 07:08 ]

2009-9-9 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 22 楼』:  

没人进来看了,再顶起来。。。

2009-9-10 23:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 23 楼』:  

你没看到你CMD的标题麽。

cd切换路径



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-9-11 01:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 24 楼』:  



  Quote:
Originally posted by slore at 2009-9-11 01:16:
你没看到你CMD的标题麽。

cd切换路径

提示依旧,一下两种改法都是一样的提示。
@echo off
:其中将剪贴板的文本保存为text.bat的作者为清风——地址:http://bbs.verybat.org/viewthread.php?tid=11762
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("text.bat",2,true).writeline(CreateObject("htmlfile").parentwindow.clipboarddata.getdata("text"))(window.close)
echo cd /d "%homepath%\桌面\" >>text.bat
echo del /f %%0 >>text.bat
::start /w notepad text.bat
start text.bat

@echo off
:其中将剪贴板的文本保存为text.bat的作者为清风——地址:http://bbs.verybat.org/viewthread.php?tid=11762
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("text.bat",2,true).writeline(CreateObject("htmlfile").parentwindow.clipboarddata.getdata("text"))(window.close)
echo del %%0 >>text.bat
echo cd /d "%homepath%\桌面\" >>text.bat
::start /w notepad text.bat
start text.bat
现在的情况是start text.bat时,运行到del %0这一句的时候,能执行成功删除text.bat文件。
然后会返回一个提示"找不到批处理文件!"
能不能退出text.bat时才执行删除命令?

2009-9-11 02:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 25 楼』:  

另外第一页那个vbs的代码有人会改吗???

2009-9-11 02:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 26 楼』:  

这么改也还是有问题,我瞎了啊。。。
@echo off
:其中将剪贴板的文本保存为text.bat的作者为清风——地址:http://bbs.verybat.org/viewthread.php?tid=11762
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("text.bat",2,true).writeline(CreateObject("htmlfile").parentwindow.clipboarddata.getdata("text"))(window.close)
echo cd /d %~dp0 >>text.bat
echo del %%0 >>text.bat
::start /w notepad text.bat
start text.bat


2009-9-11 02:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 27 楼』:  

这样,怎么还有问题呢。。。
@echo off
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("text.bat",2,true).writeline(CreateObject("htmlfile").parentwindow.clipboarddata.getdata("text"))(window.close)
::echo cd /d %~dp0 >>text.bat
::echo del %%0 >>text.bat
::start /w notepad text.bat
start text.bat
cd /d %~dp0
del text.bat >nul 2>nul


2009-9-11 02:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 28 楼』:  

还是没人进来,一点点差别搞不定,汗,没人再进来了么?
start本身比call好用些,因为call之后就直接exit了,不能再继续输入命令执行。
http://bbs.verybat.org/viewthread.php?tid=19057
这边也发过帖了。。。

2009-9-12 00:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 29 楼』:  就是2个点的问题。。。自己看下不就完了。

Option Explicit

Dim
strClipb
Dim objIE
Dim WshShell,oExec

Set objIE = CreateObject("htmlfile")
strClipb = objIE.parentWindow.clipboardData.getData("text")
'WScript.Echo strClipb

CreateBat strClipb
If strClipb = "" Then
    Set
objIE = Nothing
   
WScript.Quit
End If    '剪贴板如果为空,不执行命令

Set WshShell = CreateObject("WScript.Shell")
'Set oExec= WshShell.Exec("%comspec% /k _tempbat.bat")      '这句CMD不能自动关闭
WshShell.Run("%comspec% /c call _tempbat.bat"),1, False     '执行BAT, "pause"执行后退出

Set objIE = Nothing
Set
WshShell = Nothing

Sub
CreateBat(strCopy)    '创建BAT文件
   
Dim fso, MyFile
    Set fso = CreateObject("Scripting.FileSystemObject")
   
Set MyFile = fso.CreateTextFile("_tempbat.bat", True)
   
MyFile.WriteLine strCopy '&vbcrlf& "pause"                '在所有代码后加回车及"pause"

   
MyFile.Close
    Set
fso = Nothing
    Set
MyFile = Nothing
End Sub




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-9-12 04:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 30 楼』:  



  Quote:
Originally posted by slore at 2009-9-12 04:28:
Option Explicit

Dim
strClipb
Dim objIE
Dim WshShell,oExec

Set objIE = [col ...


感谢老大进来看帖。

vbs我是完全不会,正在业余学习中。呵呵~~~

其实,单纯的批处理主帖的两种想法都实现了。

主要是bat命令用call之后,运行完不能继续手动输入命令再执行了。这一点不是我不喜欢,我只是好奇,多一种想法和探讨。。。start是否能完美删除临时bat文件而不留那个错误提示?

vbs里面还是用的call,并且没有删除临时文件的项目。vbs我就不会了,没法自己尝试完善了。。。

所以继续顶帖,盼高手出手吧。


2009-9-12 12:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: