收藏中不能显示Total Commander的Dirmenu

我的TC是便携版的(wincmd.ini和TC的主程序放在一起),我想应该可以通过添加注册表解决,可对这方面不太了解,谁能给出解决方案。

wincmd.ini的路径写到IniFileName中。具体见截图:

非常感谢Channing这么快就给出了答案。

我的这样设置怎么不行呢,是不是路径不对啊帮看看

设置完需要重启Listary。

重启了N遍了,不行啊,我用公司电脑试试

我这里也是同样的问题

64位和32位的totalcmd 从8.52到9.0的beta10都试过
用的也是默认的全英文安装路径,注册表里也写入了wincmd.ini的绝对路径

但是listray就是无法识别到totalcmd的收藏夹,倒是能直接用totalcmd打开搜索结果。

也试过listray以管理员权限和非管理员权限运行。

都无法解决

更新完注册表后重启Listary了么?

另一个方法是在 “%APPDATA%\GHISLER” 创建 WINCMD.INI 的 符号链接
具体操作:Win + R 运行 cmd,然后运行 (或者保存为 bat 文件并运行之):

set "symlinkDir=%APPDATA%\GHISLER"
MkDir "%symlinkDir%"
Mklink "%symlinkDir%\WINCMD.INI" "{这里替换成你的 WINCMD.INI 的完整路径}"

重启过的~我重启后也试过不同的权限哦,前边有说明“也试过listray以管理员权限和非管理员权限运行。”

建议listray直接早日直接配置这个文件的路径

@DiamondbacK 谢谢你的方案,不过不太明白
你的配置路径是把totalcmd的appdate里的配置路径设置成一个快捷名叫symlinkdir,让后硬链接到wincmd.ini
Listray的运行机制就是找这个symlinkDir么?这个名字不能动?

还是比如我是把wincmd放在安装路径,上面第一句的%APPDATA%\GHISLER\要不要替换为totalcmd的安装路径?

%APPDATA%\GHISLER 是安装版 Total Commander 的 WINCMD.INI 文件的默认存放位置,这也是为什么 Listary 目前只会查找这个位置,除非你按照 @Channing 的方法改过注册表。

所以命令里写的 %APPDATA%\GHISLER 是出于 Listary 的行为规则,跟 Total Commander 安装路径无关。

symlinkDir 只是我上面一串命令所用的一个临时变量,名称是任意的,只是用来表示 %APPDATA%\GHISLER。创建的是名称为 WINCMD.INI符号链接,这样当 Listary 去这个位置找 WINCMD.INI 的时候就会找到这个同名的符号链接,然后操作系统会根据链接目标 (真正的 WINCMD.INI) 的路径,让 Listary 访问到实际的 WINCMD.INI

实际在用的 WINCMD.INI 文件不一定是 Total Commander 的安装路径下的那一个,因为可以在安装后修改。

你要做的就是确认你的 Total Commander 正在使用WINCMD.INI 的完整路径,不管是改注册表还是用我的方法。我估计你的问题就出在这里。

如果对 Total Commander 的 ini 文件机制有疑惑,可以参考这本书的第 3.1.5 小节。

@Channing @DiamondbacK

已经按照DiamondbacK的方法设置了符号链接
但是Listray依然读不出到wincmd.ini的内容。

我终于想起来去看了一下wincmd里的内容。。。。

我用过这个参数。。。。。RedirectSection=%commander_path%\user\user.ini
很抱歉,我才想起来,原来我这儿fav路径保存是在totalcmd安装路径的\User\User.ini下的,没有用wincmd.ini。
这点 @Channing Listray以后能处理为读取任意指定ini文件,再读取DirMenu关键字而不是死抓wincmd.ini这个文件么?

在此对 @DiamondbacK @Channing 表示歉意,给你们添加了无用的麻烦。谢谢@DiamondbacK 对Listray工作机制的解释~~

以后将可以在Listary中手动指定ini位置。

是只要ini中有dirmenu字段就可以,还是必须保持在wincmd中不能拆分ini文件么?

有DirMenu就可以。

那只要求读取ini文件的dirmenu字头理论上我可以用@DiamondbacK的符号链接,只是把最后一句的路径改为user.ini即可

这样既不用改动注册表影响totalcmd加载wincmd.ini,也能让Listray加载到user.ini。
可惜我实验的结果是硬链接产生的wincmd.ini链接到的user.ini也还是未能让Listray读取到相应的收藏夹。
这块能不能以后放个跟踪调试或者日志输出啊

这个解决方案暂时靠谱不,其他有类似问题,用了国内定制版或者自己优化过参数的朋友可以试试看,我这里暂时还没成功,

我的方法和改注册表的方法都只影响 Listary,都不影响 Total Commander。
我讲的方法也是我自己正在使用的。

你把这几行命令具体改成什么样了?注意花括号 {} 是要去掉的;而且 cmd 也并不认识 TC 内置变量 %COMMANDER_PATH%,要确保替换成实际路径。

如果命令正确执行了,那么 %APPDATA%\GHISLER\WINCMD.INI 这个符号链接是可以直接用记事本打开查看和编辑的,里面的内容就是 user.ini 的内容。如果没有达到这个效果,那么你可能没改好。

PS. 符号链接又被称为 软链接,而不是硬链接。

set "symlinkDir=%APPDATA%\GHISLER"
MkDir "%symlinkDir%"
Mklink “%symlinkDir%\WINCMD.INI” “C:\Protable Files\Totalcmd\User\User.ini”

但是改注册表为“C:\Protable Files\Totalcmd\User\User.ini”,和符号链接都没有效果~只有等指定ini的功能了~

PS. junction和Symlink经常分不清拉~~~嘿嘿

什么时候可以手动指定TC中的ini文件呢,那样收藏夹使用就方便多了

快了……