标题: [文本处理] 求助批处理如何在当前脚本环境之下,传输带变量的脚本语句到新文本文件 [打印本页]
作者: kfl0 时间: 2021-9-16 20:10 标题: 求助批处理如何在当前脚本环境之下,传输带变量的脚本语句到新文本文件
如何做才能在当前命令行脚本环境之下,不依赖其它现成文本内容,原样不转义传输带变量的脚本语句到新建文本,试过echo总是将变量转义之后再重定向输送到新建文本,clip倒是不转义原样输送,但是依赖已有文本,两者都无法满足工作需要。还有没有其它办法,这里先行拜谢各位大佬了!- @echo off
- echo %cd% | clip
- echo %cd%>test.txt
- pause
复制代码
比如以上代码无法原样传输环境变量cd的引用形式%cd%,而是将之转换成具体内容之后再传输,但这样并不是我想要结果
作者: kfl0 时间: 2021-9-16 20:46
即传输时将其视作字符串,而不视作具体变量内容
作者: idwma 时间: 2021-9-16 21:28
echo ^%cd^%
作者: qixiaobin0715 时间: 2021-9-16 21:31
回复 1# kfl0
echo,%%cd%%
作者: qixiaobin0715 时间: 2021-9-16 21:38
- @echo off
- echo %%cd%% ^| clip
- echo %%cd%%
- pause
复制代码
作者: qixiaobin0715 时间: 2021-9-16 21:55
本帖最后由 qixiaobin0715 于 2021-9-16 21:57 编辑
1.输出“^ > >> & && | ||”- echo ^^
- echo ^>
- echo ^>^>
- echo ^&
- echo ^&^&
- echo ^|
- echo ^|^|
- pause
复制代码
2.用echo输出%,输出的个数是代码个数除以2,另外,由于批处理不支持浮点数,那么像0.5个就直接舍弃。于是像echo %,没有输出什么内容。echo %% 和 echo %%%效果一样,都是输出一个%。
作者: qixiaobin0715 时间: 2021-9-16 22:03
第1种情况不用转义也可,可用双引号包围起来,但输出的内容也会带双引号:
echo "^ > >> & && | ||"
作者: qixiaobin0715 时间: 2021-9-17 09:37
本帖最后由 qixiaobin0715 于 2021-9-17 09:54 编辑
回复 1# kfl0
第1种情况不转义,这样处理:- @echo off
- set "var=^ > >> & && | ||"
- setlocal enabledelayedexpansion
- echo,!var!
- pause
复制代码
百分号还是必须成双出现。
作者: kfl0 时间: 2021-9-17 12:10
回复 8# qixiaobin0715
谢谢!变量引用形式两侧再加一对百分号的方法,实测可行。太感谢了,还是自己萌新基础不扎实,不得其妙
作者: WHY 时间: 2021-9-18 22:21
另一种办法:- ::%cd%
- @echo off
- setlocal enabledelayedexpansion
- set /p s=<"%~f0"
- echo;!s:~2!
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |