[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决]BAT批处理如何获取文件全名?

本帖最后由 vszy 于 2014-4-21 15:55 编辑

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\baidu]
@="百度搜索"
[HKEY_CLASSES_ROOT\*\shell\baidu\command]
@="cmd /c for %%i in (\"%1\") do echo %%~nxi&start http://www.baidu.com/s?wd=%%~nxi"

上面注册表导入后可实现右击任意文件出现直接用百度搜索文件名的选项,可是有点问题,如果文件名中有空格(如AB C.TXT)上面的命令只会获取AB并打开IE搜索,我的问题就是如何能实现在件名中有空格的情况下也能完整的获取文件名并搜索。

刚刚查了一些帖子,貌似用usebackq能解决,还好几条命令能解决,可是注册表里只能写一行呀,困惑呀。期待大神...

去掉引号即可
  1. for %%i in (%1) do echo %%~nxi&start http://www.baidu.com/s?wd=%%~nxi"
复制代码

TOP

谢谢楼上热心的朋友,可是还有点问题。测试右击桌面上的“新建  文本文档.txt”搜索(桌面路径D:\My Documents\Desktop)。结果如下:
@="cmd /c for %%i in (%1) do echo %%~nxi&start http://www.baidu.com/s?wd=%%~nxi"
这种写法导入后,右击“新建  文本文档.txt”搜索得到的是百度搜索了“My”。于是尝试去引号
@=cmd /c for %%i in (%1) do echo %%~nxi&start http://www.baidu.com/s?wd=%%~nxi"
@=cmd /c for %%i in (%1) do echo %%~nxi&start http://www.baidu.com/s?wd=%%~nxi
得到结果是百度搜索了“文本文档.txt”,“新建”两个字又要没了。

真是迷糊呀,又尝试了一些改法都得不到搜索“新建  文本文档.txt”字样的结果,还望各位大侠指正。

TOP

网址中不能有空格,空格会用%20表示,你可以把p写好,在注册表调用。

TOP

本帖最后由 zhanglei1371 于 2014-4-21 11:18 编辑

回复 3# vszy


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\baidu]
@="百度搜索"

[HKEY_CLASSES_ROOT\*\shell\baidu\command]
@="cmd /c for %%i in (\"%1\") do echo %%~nxi&explorer \"http://www.baidu.com/s?wd=%%~nxi\""

TOP

  1. cmd /c for %%i in ("%1") do echo %%~nxi&start "" "http://www.baidu.com/s?wd=%%~nxi"
复制代码
这样试试
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

本帖最后由 vszy 于 2014-4-21 12:16 编辑
这样试试
xxpinqz 发表于 2014-4-21 11:41


这个得到的结果还是搜索“文本文档.txt”

TOP

  1. Windows Registry Editor Version 5.00
  2. [HKEY_CLASSES_ROOT\*\shell\baidu\command]
  3. @="cmd /c for %%i in (\"%1\") do (echo %%~nxi&start \"\" \"http://www.baidu.com/s?wd=%%~ni\")"
复制代码

TOP

谢谢8楼的朋友,问题基本解决了。只是不包含扩展名(.txt)的搜索,但不影响实用的。

TOP

回复 9# vszy
  1. for %%i in (\"%1\") do (start \"\" \"http://www.baidu.com/s?wd=%%~nxi\")"
复制代码

TOP

回复 9# vszy


    改为 %%~nxi 就带扩展名了

TOP

返回列表