中国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和从粘贴板 上一主题 | 下一主题
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『楼 主』:  如何这样执行批处理代码?从txt和从粘贴板

1、从txt中执行一段cmd代码
   因为我不少人保存在电脑里面的代码都是txt的
   怎么在鼠标右键中添加一个“bat”或者“cmd”
   点击这个选项就直接把这个txt当做bat文件来执行。。。

2、点击某一个文件,就直接执行粘贴板的命令。
   以前经常看到非常批处理的伤脑筋这么玩。。。

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





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

哇,好多人进来了,都没有回答偶啊。是这个问题问得太菜了?
还是我没有表述明白?

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





积分 111
发帖 62
注册 2007-12-31
状态 离线
『第 3 楼』:  

第一个问题请参考注册表
HKEY_CLASSES_ROOT\txtfile\shell的部分

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





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

1、在“运行”对话框中运行:
reg add HKEY_CLASSES_ROOT\txtfile\shell\RunAsBat\command /ve /d "cmd /c copy \"%1\" \"%temp%\txt.bat\">nul & \"%temp%\txt.bat\"" /f
2、
nircmd.exe exec show "~$clipboard$"


2009-9-6 00:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
loquat
初级用户





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

感谢tireless
吼吼,一看nircmd.exe,好多好多强大的命令哦。。。
http://www.nirsoft.net/utils/nircmd.html

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





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

找到这么一个代码。。。
@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)
::start /w notepad text.bat
start text.bat
不懂vbs,怎么弄成关闭text.bat时就删除本身???

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





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

del /f %0
这个怎么写到text.bat中去???

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





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

直接用del test.bat好像不行
在test里面添加一句也不行echo del /f %0 >> text.bat
再test里添加echo del text.bat >> text.bat还是不行。奇怪了。。。

[ Last edited by loquat on 2009-9-6 at 10:49 ]

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





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

还有一个vbs的,怎么去掉它的弹窗???并在bat执行完毕后删除临时文件???
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
[ Last edited by loquat on 2009-9-6 at 11:10 ]

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





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

再顶一下,问题还没有完美解决。
希望有人再进来看一下。怎么删除临时文件。。。

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

批处理编程迷


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

建一个bat.bat文件,内容如下:
@copy %1 %~n1.cmd 1>nul
@call %~n1.cmd
@del /q %~n1.cmd 1>nul
把要变为BAT执行的文件类型,在选择打开方式中指定始终用bat.bat程序打开

这样每次双击该类型的文件,就当成批处理文件运行了



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-9-7 02:19
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
deason21
初级用户





积分 20
发帖 12
注册 2009-9-7
状态 离线
『第 12 楼』:  

到处看看

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





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

是一种方法,但是txt文件怎么能改成始终作为bat打开呢?

你能看看楼上那几个已经成功的代码吗?
如果能删除临时文件就完美了。

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

SuperCleaner


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

你说始终啊…… 关联成batfile
如果是看文本的话 右键-编辑

觉得不方便看文本的话,最多再改回去……

[ Last edited by 523066680 on 2009-9-8 at 08:57 ]



综合型编程论坛

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





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



  Quote:
Originally posted by 523066680 at 2009-9-8 08:53:
你说始终啊…… 关联成batfile
如果是看文本的话 右键-编辑

觉得不方便看文本的话,最多再改回去……

[ Last edited by 523066680 on 2009-9-8 at 08:57 ]

不是,上面tireless提供的那个代码。像现在这样我觉得是最好的了。。。



现在的问题是执行剪贴板的bat代码那个。。。

上面我上面找到的代码都是vbs的,都要生成临时bat文件。怎么执行完后删除临时文件。vbs不懂。。。

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


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



论坛跳转: