|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
『楼 主』:
如何这样执行批处理代码?从txt和从粘贴板
使用 LLM 解释/回答一下
1、从txt中执行一段cmd代码
因为我不少人保存在电脑里面的代码都是txt的
怎么在鼠标右键中添加一个“bat”或者“cmd”
点击这个选项就直接把这个txt当做bat文件来执行。。。
2、点击某一个文件,就直接执行粘贴板的命令。
以前经常看到非常批处理的伤脑筋这么玩。。。
|
|
2009-9-5 04:39 |
|
|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
|
2009-9-5 11:37 |
|
|
defanive
初级用户
 
积分 111
发帖 62
注册 2007-12-31
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
第一个问题请参考注册表
HKEY_CLASSES_ROOT\txtfile\shell的部分
|
|
2009-9-5 12:58 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
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
状态 离线
|
|
2009-9-6 10:15 |
|
|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
找到这么一个代码。。。
@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
状态 离线
|
|
2009-9-6 10:41 |
|
|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
直接用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 楼』:
使用 LLM 解释/回答一下
还有一个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
状态 离线
|
|
2009-9-7 00:21 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
建一个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 |
|
|
deason21
初级用户
 
积分 20
发帖 12
注册 2009-9-7
状态 离线
|
|
2009-9-7 09:31 |
|
|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
是一种方法,但是txt文件怎么能改成始终作为bat打开呢?
你能看看楼上那几个已经成功的代码吗?
如果能删除临时文件就完美了。
|
|
2009-9-8 08:02 |
|
|
523066680
银牌会员
     SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
你说始终啊…… 关联成batfile
如果是看文本的话 右键-编辑
觉得不方便看文本的话,最多再改回去……
Last edited by 523066680 on 2009-9-8 at 08:57 ]
|

综合型编程论坛
我的作品索引 |
|
2009-9-8 08:53 |
|
|
loquat
初级用户
 
积分 81
发帖 80
注册 2009-8-30
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
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 |
|