标题: [文本处理] 求助查错:批处理调用vbs将字符串转换成gb2312的URL编码 [打印本页]
作者: gm2wie 时间: 2011-8-2 19:48 标题: 求助查错:批处理调用vbs将字符串转换成gb2312的URL编码
本帖最后由 pcl_test 于 2016-8-5 22:21 编辑
获取字符串的ANSI编码的批处理for语句错在哪里?
为何第6行中的echo显示结果为“Echo is off”呢,请高手赐教并指正,谢谢。
批处理代码:- ::获取字符串的ANSI编码
- @echo off
- set str=我们
- cscript //nologo ansi.vbs %str%
- for /f "tokens=1,* delims=:" %%i in ('" cscript //nologo ansi.vbs %str%" ') do set acode =%%i
- Echo %acode%
- pause
复制代码
VBS代码:- 'Date: 2010/6/18
- 'Author: Demon
- 'Website: http://demon.tw
-
- Function urlencode(str)
- Dim i,c,s,length
- length = Len(str)
- For i = 1 To length
- s = Mid(str,i,1)
- c = Asc(Mid(str,i,1))
- If ( c >= Asc("A") And c <= Asc("Z") ) Or _
- ( c >= Asc("a") And c <= Asc("z") ) Or _
- ( c >= Asc("0") And c <= Asc("9") ) Or _
- ( c = Asc("-") Or c = Asc("_") Or c = Asc(".") ) Then
- urlencode = urlencode & s
- ElseIf c = Asc(" ") Then
- urlencode = urlencode & "+"
- Else
- urlencode = urlencode & "%" & Left(Hex(c),2)
- urlencode = urlencode & "%" & Right(Hex(c),2)
- End If
- Next
- End Function
- set objArgs = wscript.Arguments
- WScript.Echo urlencode(objArgs(0))
复制代码
作者: CUer 时间: 2011-8-2 20:22
复制代码
作者: tmplinshi 时间: 2011-8-2 20:23
::获取字符串的ANSI编码
@echo off
set str=我们
cscript //nologo ansi.vbs %str%
for /f "tokens=1,* delims=:" %%i in ('" cscript //nologo ansi.vbs %str%" ') do set acode =%%i
Echo %acode%
pause
改为 set acode=%%i
作者: CUer 时间: 2011-8-2 22:40
回复 3# tmplinshi
版主好眼力
作者: gm2wie 时间: 2011-8-3 16:31
谢谢指正,以后定当更加细致
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |