通过连接 LTR 和 RTL 字符串来创建正确的路径
Create correct path by concatenating LTR with RTL strings
我在通过将阿拉伯文文件夹名称与英文文件夹名称连接来创建正确路径时遇到问题,如果我使用显示正确的 document.write(path) 打印路径,连接功能似乎工作正常路径,但如果我将它传递给 fso.CopyFile(..)
,我会得到关于不正确路径的异常。
function wrap_dir(dir, str) {
if (dir === 'rtl') return '\u202B' + str + '\u202C';
return '\u202A' + str + '\u202C';
}
function Copy(){
var a = 'english'
var b = 'أ.ب-000082-13'
var c = '000004-ر خ-2014.xml'
var strPath = wrap_dir('ltr', '\\') + wrap_dir('ltr', a) + wrap_dir('ltr', '\') + wrap_dir('rtl', b) + wrap_dir('ltr', '\') + wrap_dir('ltr', c);
// "english\أ.ب-000082-13\000004-ر خ-2014.xml"
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile(strPath, to, 1);
}
strPath 变量是 "\\english\أ.ب-000082-13\000004-ami خ-2014.xml" 这是正确的路径。
为了确保路径正确,我将该路径作为硬代码传递给 fso.CopyFile
并且它工作正常。
您不应插入这些 RLE(U+202B) LRE(U+202A) PDF(U+202C) 控制字符。
我在通过将阿拉伯文文件夹名称与英文文件夹名称连接来创建正确路径时遇到问题,如果我使用显示正确的 document.write(path) 打印路径,连接功能似乎工作正常路径,但如果我将它传递给 fso.CopyFile(..)
,我会得到关于不正确路径的异常。
function wrap_dir(dir, str) {
if (dir === 'rtl') return '\u202B' + str + '\u202C';
return '\u202A' + str + '\u202C';
}
function Copy(){
var a = 'english'
var b = 'أ.ب-000082-13'
var c = '000004-ر خ-2014.xml'
var strPath = wrap_dir('ltr', '\\') + wrap_dir('ltr', a) + wrap_dir('ltr', '\') + wrap_dir('rtl', b) + wrap_dir('ltr', '\') + wrap_dir('ltr', c);
// "english\أ.ب-000082-13\000004-ر خ-2014.xml"
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile(strPath, to, 1);
}
strPath 变量是 "\\english\أ.ب-000082-13\000004-ami خ-2014.xml" 这是正确的路径。
为了确保路径正确,我将该路径作为硬代码传递给 fso.CopyFile
并且它工作正常。
您不应插入这些 RLE(U+202B) LRE(U+202A) PDF(U+202C) 控制字符。