找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22696|回复: 4

[文本处理] 求助查错:批处理调用vbs将字符串转换成gb2312的URL编码

[复制链接]
发表于 2011-8-2 19:48:50 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-5 22:21 编辑

获取字符串的ANSI编码的批处理for语句错在哪里?
为何第6行中的echo显示结果为“Echo is off”呢,请高手赐教并指正,谢谢。
批处理代码:
  1. ::获取字符串的ANSI编码
  2. @echo off
  3. set str=我们
  4. cscript //nologo ansi.vbs %str%
  5. for /f "tokens=1,* delims=:" %%i in ('" cscript //nologo ansi.vbs %str%" ') do set acode =%%i
  6. Echo %acode%
  7. pause
复制代码
VBS代码:

  1. 'Date: 2010/6/18
  2. 'Author: Demon
  3. 'Website: http://demon.tw

  4. Function urlencode(str)
  5.         Dim i,c,s,length
  6.         length = Len(str)
  7.         For i = 1 To length
  8.                 s = Mid(str,i,1)
  9.                 c = Asc(Mid(str,i,1))
  10.                 If ( c >= Asc("A") And c <= Asc("Z") ) Or _
  11.                         ( c >= Asc("a") And c <= Asc("z") ) Or _
  12.                         ( c >= Asc("0") And c <= Asc("9") ) Or _
  13.                         ( c = Asc("-") Or c = Asc("_") Or c = Asc(".") ) Then
  14.                         urlencode = urlencode & s
  15.                 ElseIf c = Asc(" ") Then
  16.                         urlencode = urlencode & "+"
  17.                 Else
  18.                         urlencode = urlencode & "%" & Left(Hex(c),2)
  19.                         urlencode = urlencode & "%" & Right(Hex(c),2)                        
  20.                 End If
  21.         Next
  22. End Function
  23. set objArgs = wscript.Arguments
  24. WScript.Echo urlencode(objArgs(0))
复制代码
发表于 2011-8-2 20:22:28 | 显示全部楼层
  1. echo,%acode%
复制代码
发表于 2011-8-2 20:23:21 | 显示全部楼层
::获取字符串的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
发表于 2011-8-2 22:40:36 | 显示全部楼层
回复 3# tmplinshi


版主好眼力
 楼主| 发表于 2011-8-3 16:31:05 | 显示全部楼层
谢谢指正,以后定当更加细致
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:50 , Processed in 0.031065 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表