标题: [注册表类] reg2bat不能成功转换此项注册表,请教手动怎么写,谢谢。(已解决) [打印本页]
作者: houxiren 时间: 2022-6-4 02:08 标题: reg2bat不能成功转换此项注册表,请教手动怎么写,谢谢。(已解决)
本帖最后由 houxiren 于 2022-6-8 00:59 编辑
注册表如下:
[HKEY_CLASSES_ROOT\Directory\background\shell\NEWTEXT]
@="新建文本文档"
"icon"="\"D:\\ZSXUN\\Software\\Software\\EmEditor\\EmEditor.exe\""
这两句可以成功转换,跳过。下面这句用了好几个 reg2bat 软件转出来的都不能成功写入注册表(备注:不是权限问题)
[HKEY_CLASSES_ROOT\Directory\background\shell\NEWTEXT\command]
@="cmd.exe /c \"for /l %%x in (1, 1, 100) do ( if not exist \"%V\"\\EmptyFile%%x.txt ( type NUL > \"%V\"\\EmptyFile%%x.txt&&exit))\""
打开注册表看的话,内容如下:
cmd.exe /c "for /l %%x in (1, 1, 100) do ( if not exist "%V"\EmptyFile%%x.txt ( type NUL > "%V"\EmptyFile%%x.txt&&exit))"
用 Reg Converter 转换出来的如下,但不能成功写入。
Reg add "HKCR\Directory\Background\shell\NEWTEXT\command" /ve /t REG_SZ /d "cmd.exe /c \"for /l %%%%x in (1, 1, 100) do ( if not exist \"%%%%V\"\EmptyFile%%%%x.txt ( type NUL > \"%%V\"\EmptyFile%%%%x.txt&&exit))\"" /f
谢谢大家!
作者: Batcher 时间: 2022-6-4 10:02
回复 1# houxiren
搞清楚特殊字符的转义,你就不需要使用那些软件了,完全参考自己写,参考:
https://mp.weixin.qq.com/s/OQxeZJI85wejmCzQ315dHA
作者: smss 时间: 2022-6-4 17:07
- reg add "HKCR\Directory\background\shell\NEWTEXT\command" /ve /t REG_SZ /d "cmd.exe /c \"for /l %%%%x in (1, 1, 100)do ( if not exist \"%%V\"\EmptyFile%%%%x.txt ( type NUL ^> \"%%V\"\EmptyFile%%%%x.txt^&^&exit))\"" /f
复制代码
作者: houxiren 时间: 2022-6-8 00:57
回复 3# smss
感谢您。成功添加了!
作者: houxiren 时间: 2022-6-8 00:58
回复 2# Batcher
感谢前辈教导,马上学习去!感谢!
作者: houxiren 时间: 2022-6-13 07:13
本帖最后由 houxiren 于 2022-6-13 08:50 编辑
回复 2# Batcher
前辈,您好。用以下三行可以添加右键菜单。
第1行 Reg add "HKCR\*\shell\EverythingSearch1" /ve /t REG_SZ /d "E搜索" /f
第2行 Reg add "HKCR\*\shell\EverythingSearch1" /v "icon" /t REG_SZ /d "\"D:\Everything\Everything.exe\"" /f
第3行 Reg add "HKCR\*\shell\EverythingSearch1\command" /ve /t REG_SZ /d "\"D:\Everything\Everything.exe\" -name-part \"%%1\" -sort \"Date Modified\" -maximized -details" /f
D盘有 D:\1234567890-1-1.TXT,D:\1234567890-1-2.TXT …… 几十个文件
在资源管理器中,在 D:\1234567890-1-1.TXT 右击该右键菜单,将可以调用 Everything 搜索 "1234567890-1-1.TXT"
我的目的:只提取文件名的前12个字符, 连接一个“*”号,连接后缀,调用 Everything 搜索 "1234567890-1*.TXT", 这样就可以搜索到 D 盘的那几十个 txt 文件了(而不是只搜索1234567890-1-1.TXT)。
请问第 3 行的代码该怎么写?
我目前的过渡方案是:
第 3 行注册表写 "D:\Everything\Everything.bat" "%1"
Everything.bat 的内容如下:
setlocal enabledelayedexpansion
SET filename=%1
call :rune %filename%
:rune
SET filen=%~n1
"D:\Everything\Everything.exe" -name-part "%filen:~0, 12%*%~x1" -sort "Date Modified" -maximized -details
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |