- @echo off
- set count=0
- setlocal enabledelayedexpansion
- for /f "" %%a in ( 1.txt ) do (
- if !count! equ 5 (
- echo\& echo/
- set count=0
- set /p= ^%%a <nul
-
- ) else (
- set /p= ^%%a <nul
-
- if ^^%%a==^^! set /p= ^^%%a<nul
- )
- set /a count+=1
- )
- pause>nul
复制代码 ====================================
1.txt- ~
- !
- @
- #
- $
- %
- ^
- &
- *
- (
- )
- _
- +
- |
- {
- }
- :
- "
- <
- >
- ?
- /
- *
- -
- +
复制代码 =========================================================
当count<5:
set /p= ^%%a <nul
if ^^%%a==^^! set /p= ^^%%a<nul
第一行会对字符进行转义 然后输出
第二行是如果%%a提取到的是!符号 再输出一次
可是结果是!只输出了一次
还有百分号不能用^来转移啊 这个代码也把百分号输出了 怎么做到的?我想不通啊 |