[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何把(当前路径)字符转为Unicode编码?

本帖最后由 aries215 于 2019-2-7 14:03 编辑

想把 %~dp0 转为 \u0043\u003a\u005c 这类形式。
要求纯批处理,简单通用。不要Powershell。
非常感谢!

本帖最后由 aries215 于 2019-2-3 16:07 编辑

JS可以直接获得,VBS可用Hex(AscW(strings))获得,怎么写成简单直接的批处理命令呢?

TOP

怎么把下方vbs代码,改成批处理命令,支持变量输入输出呢?
  1. s = "𪚥"
  2. WScript.Echo Hex(ToCodePoint(s))
  3. 'return code point of a character
  4. Function ToCodePoint(s)
  5.     Dim uni, uni2
  6.     uni = CLng("&H" & Hex(AscW(s)))
  7.     If (uni >= &HD800&) And (uni <= &HDBFF&) Then
  8.         uni2 = Mid(s, 2, 1)
  9.         If uni2 = "" Then
  10.             Err.Raise 8732, "ToCodePoint", _
  11.             "Invalid  surrogate pair"
  12.         End If
  13.         uni2 = CLng("&H" & Hex(AscW(uni2)))
  14.         uni = &H10000 + (((uni - &HD800&) * 2 ^ 10) Or (uni2 - &HDC00&))
  15.     End If
  16.     ToCodePoint = uni
  17. End Function
复制代码

TOP

本帖最后由 aries215 于 2019-2-3 17:24 编辑

JS的命令似乎更简单,怎么用WScript于批处理呢?
  1. function reconvert(str){
  2. str = str.replace(/(\\u)(\w{1,4})/gi,function($0){
  3. return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{1,4})/g,"$2")),16)));
  4. });
复制代码

TOP

本帖最后由 aries215 于 2019-2-3 17:26 编辑

回复 5# yhcfsr
你家住哪的?我去拜年,保证不踢你

TOP

本帖最后由 aries215 于 2019-2-3 20:29 编辑

我要看看高手怎么写代码

TOP

本帖最后由 aries215 于 2019-2-7 14:08 编辑

回复 9# yhcfsr
第二行修改成这样,批处理就可以用了:
  1. for /f %%a in ('echo;%~dp0^|cscript -nologo -e:jscript "%~f0"') do (
  2.     echo %%a
  3. )
复制代码

TOP

返回列表