已存在的标记和备注是用文件夹备注,文件夹标记 - by 暖暖~ - 动作信息 - Quicker
系统自带的资源管理器还是第三方的?win10还是Win11?我这边刚测试是正常的
系统自带的,win11。我有办法找到日志发给您看看吗?
https://getquicker.net/Sharedaction?code=d09ee42a-8fee-451c-cf5e-08dda5c378f4https://getquicker.net/Sharedaction?code=049de6b3-dc68-49bd-cf5f-08dda5c378f4这两个动作是一样的,右键可以调试运行,看看什么问题
https://temp.getquicker.net/784550/b12819826732443c96a7f1c341c0d53a.html这是日志
应该是代码不兼容Win11当前版本,我找时间优化一下
辛苦大佬。
我问了问ai,看见在 “temp” 目录里,脚本创建了 “desktop.ini” 这个文件,但没有成功复制到目标文件夹。
好的,我找时间优化一下,不过电脑都是win10的,有点尴尬
我靠,路径不含中文就成功了。
刚又测试了,含中文路径也是正常的,估计是系统版本没兼容的问题
你的推断非常敏锐,逻辑完全正确。
如果仅仅是“跑得慢”(异步延迟),那么脚本报错结束后,你再去文件夹看,文件应该已经在那儿了。既然现在还是没有,说明搬运操作不是“慢”,而是彻底“挂”了(Aborted)。
结合你提供的中文路径 C:\Users\40332\Desktop\测试\2.导出,我找到了这个“隐形杀手”的真面目:编码问题导致的路径识别失败。
C:\Users\40332\Desktop\测试\2.导出
VBS 的软肋:VBScript 是几十年前的老技术,它对文本编码非常敏感,尤其是当脚本中包含中文字符(如“测试”、“导出”)时。
编码冲突:
PowerShell 默认生成的临时脚本文件通常是 UTF-8 编码。
Windows 的脚本宿主 (cscript.exe) 在读取 VBS 文件时,默认往往是按 ANSI (系统本地编码) 去读的。
cscript.exe
乱码发生:
当 cscript 试图读取那个包含中文路径的 VBS 文件时,它眼里的路径很可能变成了一串乱码(例如 ...\2.??)。
cscript
...\2.??
因此,代码 shell.NameSpace("$folderPath") 找不到对应的文件夹对象(返回了 Null)。
shell.NameSpace("$folderPath")
静默崩溃:
接着执行 folder.MoveHere 时,因为 folder 对象是空的,VBS 脚本直接内部报错崩溃。
folder.MoveHere
folder
又因为你加了 //b (批处理模式) 和 //nologo,它连个错误提示都没弹,直接悄悄退出了。
//b
//nologo
结果:文件还在临时目录,一步都没动。
-
系统自带的资源管理器还是第三方的?win10还是Win11?我这边刚测试是正常的
系统自带的,win11。我有办法找到日志发给您看看吗?
https://getquicker.net/Sharedaction?code=d09ee42a-8fee-451c-cf5e-08dda5c378f4
https://getquicker.net/Sharedaction?code=049de6b3-dc68-49bd-cf5f-08dda5c378f4
这两个动作是一样的,右键可以调试运行,看看什么问题
https://temp.getquicker.net/784550/b12819826732443c96a7f1c341c0d53a.html
这是日志
应该是代码不兼容Win11当前版本,我找时间优化一下
辛苦大佬。
我问了问ai,看见在 “temp” 目录里,脚本创建了 “desktop.ini” 这个文件,但没有成功复制到目标文件夹。
好的,我找时间优化一下,不过电脑都是win10的,有点尴尬
我靠,路径不含中文就成功了。
刚又测试了,含中文路径也是正常的,估计是系统版本没兼容的问题
--------
你的推断非常敏锐,逻辑完全正确。
如果仅仅是“跑得慢”(异步延迟),那么脚本报错结束后,你再去文件夹看,文件应该已经在那儿了。既然现在还是没有,说明搬运操作不是“慢”,而是彻底“挂”了(Aborted)。
结合你提供的中文路径
C:\Users\40332\Desktop\测试\2.导出,我找到了这个“隐形杀手”的真面目:编码问题导致的路径识别失败。真相还原:为什么 VBS 彻底罢工了?
VBS 的软肋:VBScript 是几十年前的老技术,它对文本编码非常敏感,尤其是当脚本中包含中文字符(如“测试”、“导出”)时。
编码冲突:
PowerShell 默认生成的临时脚本文件通常是 UTF-8 编码。
Windows 的脚本宿主 (
cscript.exe) 在读取 VBS 文件时,默认往往是按 ANSI (系统本地编码) 去读的。乱码发生:
当
cscript试图读取那个包含中文路径的 VBS 文件时,它眼里的路径很可能变成了一串乱码(例如...\2.??)。因此,代码
shell.NameSpace("$folderPath")找不到对应的文件夹对象(返回了 Null)。静默崩溃:
接着执行
folder.MoveHere时,因为folder对象是空的,VBS 脚本直接内部报错崩溃。又因为你加了
//b(批处理模式) 和//nologo,它连个错误提示都没弹,直接悄悄退出了。结果:文件还在临时目录,一步都没动。