You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为VBS脚本设置区域设置以支持西里尔文文件夹?

解决VBS脚本处理西里尔文文件夹的问题

首先修正你原脚本里的关键错误:VBS不会解析%CD%这类批处理环境变量,直接写入会被当作路径的一部分,导致无法正确定位文件。先把路径逻辑改成VBS能识别的写法:

Set fso = CreateObject("Scripting.FileSystemObject")
ZipFile = fso.GetAbsolutePathName("file.zip") ' 获取当前目录下file.zip的绝对路径
ExtractTo = fso.GetAbsolutePathName(".")     ' 获取当前目录的绝对路径

Set objShell = CreateObject("Shell.Application")
Set FilesInZip = objShell.NameSpace(ZipFile).Items
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)

接下来解决西里尔文兼容问题——VBS没法直接像批处理那样用chcp切换代码页,但可以用以下两种简单方案:

方法一:用批处理包裹VBS脚本(推荐)

借助你熟悉的chcp 1251,写一个批处理文件启动VBS,让VBS继承批处理设置的代码页环境:

  1. 新建unzip.bat文件,内容如下:
@echo off
chcp 1251 >nul
cscript //nologo unzip.vbs
  1. 把修正后的VBS脚本命名为unzip.vbs,和批处理放在同一目录,双击批处理运行即可。

方法二:确保VBS脚本编码正确

如果不想用批处理,把VBS脚本保存为UTF-8 with BOM编码(必须带BOM,否则VBS会识别为ANSI),这样脚本内的西里尔文字符能被正确解析。同时确保系统区域设置里,「非Unicode程序的语言」设置为俄语或其他西里尔文语言。

注:Shell.Application的CopyHere方法依赖系统区域设置,所以如果系统默认非Unicode语言不是西里尔文,方法一的批处理切换方案会更可靠。

内容的提问来源于stack exchange,提问作者Verity Freedom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 00:33:14