找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29686|回复: 8

[文本处理] [已解决]批处理如何在空白处右键“新建菜单”中加入根据“剪切板”内容新建文本?

[复制链接]
发表于 2011-12-19 09:30:28 | 显示全部楼层 |阅读模式
想在空白处右键“新建菜单”中加入根据“剪切板”内容新建文本文件。
以下是在所有文件右键可供参考
  1. Windows Registry Editor Version 5.00
  2. ; 保存剪贴板内容_所有文件右键_添加TXT.reg
  3. [HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\SaveClipText]
  4. @="剪贴板@TXT(&B)"

  5. [HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\SaveClipText\command]
  6. @="mshta "javascript:try{new ActiveXObject('Scripting.FileSystemObject').OpenTextFile(new Date().getTime()+'.txt',2,true).Write(clipboardData.getData('text'));}catch(e){alert('non-text');}close();""
复制代码

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-12-19 09:52:19 | 显示全部楼层
第三方工具下载:winclip.exe http://www.bathome.net/thread-1766-1-1.html
  1. echo off
  2. for /f "usebackq" %%i in (`winclip -p`) do cd.>>%%i.txt
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-12-19 10:06:16 | 显示全部楼层
能是能做。。。加个注册表加个command键就行了。

但是这种方法不能显示2种同扩展名的选择

就是你右键新建->txt全部都是从剪切板内容到新建文本文件

没有原来的建立空白的新建文本文档了。

如果你使用新扩展名那就很简单了。
 楼主| 发表于 2011-12-19 10:19:21 | 显示全部楼层
vbs、reg、bat、这几个是最常用的。就要这几个
发表于 2011-12-19 11:58:19 | 显示全部楼层
  1. REGEDIT4

  2. [HKEY_CLASSES_ROOT\.bat\ShellNew]
  3. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
  4. [HKEY_CLASSES_ROOT\.reg\ShellNew]
  5. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
  6. [HKEY_CLASSES_ROOT\.vbs\ShellNew]
  7. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
复制代码
但是不建议mshta,感觉运行有点卡。这个就是思路自己找个3方也好别的命令也好,%2是文件名全路径名

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-12-19 12:00:10 | 显示全部楼层
这里没有判断剪切板是否为空,如果为空就错了。
 楼主| 发表于 2011-12-19 14:11:06 | 显示全部楼层
本帖最后由 zhangop9 于 2011-12-19 14:20 编辑

文件名能不能用文本中的前三字符来写入了,如果说剪切板中的内容是
  1. REGEDIT4

  2. [HKEY_CLASSES_ROOT\.bat\ShellNew]
  3. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
  4. [HKEY_CLASSES_ROOT\.reg\ShellNew]
  5. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
  6. [HKEY_CLASSES_ROOT\.vbs\ShellNew]
  7. "command"="mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""%2"",2,true).Write(clipboardData.getData(""text"")):close")"
复制代码
那么生成的文件名称就是“regedi.reg”;如果是中文就是剪切板中的前三个字如“新建名.bat”

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-12-19 15:12:15 | 显示全部楼层
command键你可以指定在新建的时候做一些处理,直接把代码写到注册表里面有点乱,因为比较长。

你自己写个命令去调用吧。

1.从%2中获取文件要存储的路径
2.读取剪切板,去前3个字符
3.写入文件

不建议用bat,毕竟前3个字符要是有特殊字符还要处理很麻烦。

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

 楼主| 发表于 2011-12-19 20:12:47 | 显示全部楼层
谢谢已经很好用了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:08 , Processed in 0.021244 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表