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


    不知是不是系统差异,我这里加上/f反而还有错误提示,
  1. for /f "delims=" %%a in (^"=E5=AE=89=E8=A1=A3=E6=9F=9C=E9=97=A8=E5=B8=88=E5=82=85^") do set name=%%a
  2. call echo name=%%name: =%%
复制代码
去掉反而正常。
  1. @echo off
  2. for %%a in (^"=E5=AE=89=E8=A1=A3=E6=9F=9C=E9=97=A8=E5=B8=88=E5=82=85^") do set name=%%a
  3. call echo name=%%name: =%%
  4. pause
复制代码

TOP

回复 2# CrLf


    谢谢分享,只是显示的话用你的优化效果非常不错,我里面其实是截取的一部分代码,这是第一个步骤,其实你应该已经猜到了,那其实是一些汉字的uri编码,将其转成可以转码的字符后就可以得到真实文字了。这个例子也是从手机导出名片文件中截取的,它来自于vcf文件。

先学习一下你的分享链接,看看又能收获到什么惊喜……

TOP

理解是对的,但太绕了,4到7行可以简化成:
  1. (set /p"=name="
  2. for %%a in (%%i) do @<nul set /p"=%%%%a"
  3. echo,)<nul
复制代码
----------------------------------------------------
再提供另一种将等号替换为其他字符的方法,无法区分单个等号和连续多个等号,简单来说基本原理是这个:
  1. for /f "delims=" %%a in (^"=E5=AE=89=E8=A1=A3=E6=9F=9C=E9=97=A8=E5=B8=88=E5=82=85^") do set name=%%a
  2. call echo name=%%name: =%%
复制代码
而为了兼容其他分隔符和各种特殊字符,还要用到另一个帖子的办法:
[分享]区分引号内外,转义特殊字符

TOP

返回列表