Board logo

标题: [文本处理] 批处理如何实现将输入的半角(英文)双引号"输出到文本? [打印本页]

作者: 小小白白    时间: 2016-5-19 19:07     标题: 批处理如何实现将输入的半角(英文)双引号"输出到文本?

本帖最后由 pcl_test 于 2016-5-20 19:54 编辑

在进行将键盘输入字符输出到TXT文档测试时,发现单个半角"无法输入到TXT,
【代码】
@echo off
set /p var1=input
echo %var1%>>9999.txt
pause
【测试】
第一次输入测试: "我是中国人"
执行结果描述:文档生成并有一行
"我是中国人"

第二次输入测试: “I am chinese
执行结果描述:
input"i am chinese
"i am chinese>>9999.txt
请按任意键继续. . .

【现象】并没有生成9999.txt
【注意】:以上测试是为了讲清这个问题,我的需求是想将set /p var 从屏幕输入的一个(或者一句话,但是只含有一个半角")输入到文档。
请老师帮忙解答
【原始问题描述】在做一个输入特殊符号判断的编程时,需要对1-10十个数字以外的所有特殊符号进行判断处理,目前已经可以排除键盘输入的所有全角半角字符,或者含有键盘上全角半角字符的字符串,但是唯独当含有半角双引号"时,无法给出较好的解决方法。也在网上找了很多代码测试,均无效果,也许是自己水平太次了,在这里求教老师了!
作者: codegay    时间: 2016-5-19 20:22

echo ^"
echo ^^
echo ^'
作者: 小小白白    时间: 2016-5-20 09:55

本帖最后由 小小白白 于 2016-5-20 10:00 编辑

回复 2# codegay


   谢谢你的回复,但是,我的意图是使用键盘输入一串字符,将该串字符输入一个文本。并在该键盘输入字符串中含有一个英文".
作者: flyinnet9    时间: 2016-5-20 10:22

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p input=
  4. echo.!input!>111.txt
  5. pause
复制代码

作者: 小小白白    时间: 2016-5-20 10:35

回复 4# flyinnet9


    测试通过,谢谢老师!!!echo.防空功能很好用,很妙。
再请教一个问题,echo.为何没有输出一个空行呢?
作者: flyinnet9    时间: 2016-5-20 11:17

回复 5# 小小白白


echo.显示一个空行, 相当于一个回车,所以当echo.有跟其他字符时,实际上就是在字符后面回车,不会空行;而当echo.后面没有跟字符时,直接回车自然是空行了

另外“ .” 可以用 , : ; / [ \ ] + ( = 符号替代




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2