Board logo

标题: [问题求助] [已解决]在文件或文件夹上右键后,发送到,根据剪切板内容重命名当前文件。 [打印本页]

作者: zhangop9    时间: 2011-11-21 00:11     标题: [已解决]在文件或文件夹上右键后,发送到,根据剪切板内容重命名当前文件。

本帖最后由 zhangop9 于 2011-11-22 22:24 编辑

在文件或文件夹上右键后,发送到,根据剪切板内容重命名当前文件。
作者: broly    时间: 2011-11-21 18:46

什么系统的?WIN7的非administrateR 用户比XP处理起来要麻烦
作者: zhangop9    时间: 2011-11-22 00:41

本帖最后由 zhangop9 于 2011-11-22 00:44 编辑

winxp系统,如果能改一下如下代码就好了
  1. Set objIE = CreateObject("InternetExplorer.Application")
  2. objIE.Navigate("about:blank")
  3. strText = objIE.document.parentwindow.clipboardData.GetData("text")
  4. objIE.Quit
  5. Wscript.Echo strText
  6. Set objFile = CreateObject("Scripting.FileSystemObject").CreateTextFile("C:\Users\Acer\Desktop\测试.vbs")
  7. objFile.Write strText
  8. objFile.Close
复制代码
1、如果桌面能用环境变量就好了,
2、如果桌面上有同名文件就在文件名后加1“测试1.vbs”
作者: broly    时间: 2011-11-22 01:36

winxp系统就容易很多了。
使用步骤:
1.把下面的VBS保存为 d盘.vbs,然后右键->复制
2.运行->输入"sendto"->确定
3.在打开的文件夹中右键->粘贴快捷方式

这样右键->发送到  就会多了一个选项,使用即可

注意,如果要发送到以他地方,把VBS中的  "d:\" 改为你相应的目录即可,最后一定要有 \
  1. '保存我为 d盘.vbs
  2. Dim objArgs,fso,strText,fileName,extName,destPath
  3. destPath = "d:\" '发送到d:\
  4. Set objArgs = WScript.Arguments
  5. If objArgs.Count = 0 Then WScript.Quit
  6. strText = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
  7. '剪贴板的内容为空就退出
  8. If strText = "" Then WScript.Quit
  9. Set fso = CreateObject("SCripting.FileSystemObject")
  10. If fso.FileExists(objArgs.Item(0)) Then
  11. extName = fso.GetExtensionName(objArgs.Item(0))
  12. If fso.FileExists(strText & "." & extName) Then
  13. fileName = strText & "1." & extName
  14. Else
  15. fileName = strText & "." & extName
  16. End If
  17. fso.CopyFile objArgs.Item(0),destPath & fileName
  18. ElseIf fso.FolderExists(objArgs.Item(0)) Then
  19. If fso.FolderExists(strText) Then
  20. fileName = strText & "1"
  21. Else
  22. fileName = strText
  23. End If
  24. fso.CopyFolder objArgs.Item(0),destPath & fileName
  25. End If
  26. Set fso = Nothing
  27. Set objArgs = Nothing
复制代码

作者: zhangop9    时间: 2011-11-22 22:03

可以用,不过好像不是我想要了,我是想用剪切板内容改当前文件名称,这个vbs新建了一个文件
作者: broly    时间: 2011-11-22 22:18

理解错误
  1. Dim objArgs,fso,f,strText,fileName,extName
  2. Set objArgs = WScript.Arguments
  3. If objArgs.Count = 0 Then WScript.Quit
  4. strText = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
  5. '剪贴板的内容为空就退出
  6. If strText = "" Then WScript.Quit
  7. Set fso = CreateObject("SCripting.FileSystemObject")
  8. If fso.FileExists(objArgs.Item(0)) Then
  9.         extName = fso.GetExtensionName(objArgs.Item(0))
  10.         If fso.FileExists(strText & "." & extName) Then
  11.                 fileName = strText & "1." & extName
  12.         Else
  13.                 fileName = strText & "." & extName
  14.         End If
  15.         Set f = fso.GetFile(objArgs.Item(0))
  16.         f.Name = fileName
  17. ElseIf fso.FolderExists(objArgs.Item(0)) Then
  18.         If fso.FolderExists(strText) Then
  19.                 fileName = strText & "1"
  20.         Else
  21.                 fileName = strText
  22.         End If
  23.         Set f = fso.GetFolder(objArgs.Item(0))
  24.         f.Name = fileName
  25. End If
  26. Set fso = Nothing
  27. Set f = Nothing
  28. Set objArgs = Nothing
复制代码

作者: zhangop9    时间: 2011-11-22 22:22

ok,行了,谢谢,帖子中那个问题我自己东搞搞西搞搞,搞出来了,谢谢你版主




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2