我有一个旧的 Javascript 脚本,我们在这里安装时运行该脚本(使用 cscript),该脚本在去年年初之后的某个时候停止正常工作。我正在尝试找出原因。
看起来 FileSystemObject 的 CopyFolder 方法并没有复制它需要的所有文件。即使目标目录不存在,复制大部分带有“权限被拒绝”的文件后,复制就会失败。
代码大致如下:
try {
stat.CopyFolder("C:\myinstalldir\SimulationModule",
"C:\\Program Files\\Microsoft Visual Studio 8\\VC\\\VCWizards\\CodeWiz\\Generic\\", true);
} catch (e) {
WScript.Echo ("CodeWiz Folder copy failed: " + e.message);
}
我看到的情况是(再次,即使目标目录不存在),所有 12 个文件夹都被复制了,但 31 个文件中只有 25 个被复制(一个目录中的 5 个文件全部丢失,根目录中的 1 个文件丢失)。如果我手动运行脚本,我看到的消息是:“CodeWiz 文件夹复制失败:权限被拒绝”
所有源文件似乎都不是只读或隐藏的,如果我通过资源管理器手动执行相同的文件夹复制,则工作正常。我以管理员组中的用户身份运行。我在 Windows 7 32 位和 64 位上都看到了这种行为。
知道这里发生什么事了吗?