- PathFileExists がファイルだけでなくフォルダーもあれば true を返すので「お気に入りの追加」でフォルダとファイルの判別がおかしくなってしまっていた問題を対策
- 近い将来VBScriptがWindowsから削除され、それに伴って
Scripting.FileSystemObject
が使えなくなる可能性があります。それまでにScripting.FileSystemObject
を使わないようにしたり、代替の互換オブジェクトを用意していく予定です。
とりあえず、Tablacus Explorer本体のScripting.FileSystemObject
を使わない方法に置き換えました。これでしばらくプレリリース版で様子をみてみます。
Scripting.FileSystemObject | 置き換え | 置き換え2 |
---|---|---|
fso.BuildPath(path, name) | PathBuildPath(path, name) | |
fso.GetDriveName(path) | GetDriveName(path) | |
fso.GetParentFolderName(path) | PathGetParentFolderName(path) | |
fso.GetBaseName(path) | GetBaseName(path) | |
fso.GetFileName(path) | GetFileName(path) | |
fso.GetExtensionName(path) | GetExtensionName(path) | |
fso.CreateFolder(path) | api.CreateDirectory(path) | |
fso.FileExists(path) | api.PathFileExists(path) && !api.PathIsDirectory(path) | |
fso.FolderExists(path) | api.PathIsDirectory(path) | |
fso.GetFileVersion(path) | api.GetFileVersionInfo(path) | |
fso.GetSpecialFolder(0).Path | api.GetDisplayNameOf(ssfWINDOWS, SHGDN_FORPARSING) | GetWindowsPath() |
fso.GetSpecialFolder(1).Path | system32 | |
fso.GetSpecialFolder(2).Path | wsh.ExpandEnvironmentStrings("%TEMP%") | GetTempPath(0) |
fso.GetFile(path).Attributes = attr | api.SetFileAttributes(path, attr) | |
fso.GetFolder(path).Attributes = attr | api.SetFileAttributes(path, attr) | |
fso.DeleteFile(path) | api.DeleteFile(path) | api.SHFileOperation(FO_DELETE, path, null, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.MoveFile(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.MoveFolder(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.MoveFile(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.MoveFolder(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.CopyFile(src, dest) | api.CopyFile(path,src, dest, true) | api.SHFileOperation(FO_COPY, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.CopyFolder(src, dest) | api.SHFileOperation(FO_COPY, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.Drives
はWMI
のWin32_LogicalDisk
を使って置き換えました。
fso.CreateTextFile
はAdodb.Stream
を使って置き換えました。
fso.GetFolder(...).SubFolders
はapi.FindFirstFile
とapi.FindNextFile
を使って置き換えました。
vbscript.dll
が削除されている場合、VBScript
のInputBox
はPowerShellの
Microsoft.VisualBasicの
InputBox`を使って置き換えます。
表示やドラッグ&ドロップがおかしい場合
https://wooty.hatenadiary.org/entry/2025/02/03/233544
これでもダメな場合のとりあえずの回避策
Tablacus Explorerを閉じてから フォルダlib
にあるtewv32.dll
とtewv64.dll
を削除してみて下さい。
- In the near future, VBScript will be removed from Windows, and along with that,
Scripting.FileSystemObject
may become unavailable. Before that happens, we plan to stop usingScripting.FileSystemObject
and prepare a compatible alternative. - If the Blink version doesn't work
Delete WebView2's dll
As a temporary workaround, close Tablacus Explorer again, delete tewv32.dll and tewv64.dll from the lib folder, and then try launching the application once more.