标题: 不能输出理想的文本文件,请大家帮忙。【已解决】
[打印本页]
作者: 516526966
时间: 2009-5-14 13:52
标题: 不能输出理想的文本文件,请大家帮忙。【已解决】
现有一个批处理文件abc.bat 内容为:@echo off
cls
echo.
echo. ╭─────────╮
echo. ╭───┤ 选择如下操作 ├───╮
echo. │ ╰─────────╯ │
echo. │ │
echo. │ A. 好运天使 │
echo. │ │
echo. │ B. 中国CN-DOS │
echo. │ │
echo. │ Y.麻烦大家了 │
echo. │ │
echo. ╰─────────────────╯
echo.
echo. 大家好,欢迎光临中国DOS联盟
echo.
echo. 为什么总是这么笨呢?
echo.
echo. 请求大家啊帮忙。
echo.
pause>nul
exit
我的意愿是在abc.bat批处理文件开头加上一段代码,使得abc.bat中指定的内容输出到a.txt中,得到的a.txt的内容是: Quote: |
╭─────────╮
╭───┤ 选择如下操作 ├───╮
│ ╰─────────╯ │
│ │
│ A. 好运天使 │
│ │
│ B. 中国CN-DOS │
│ │
│ Y.麻烦大家了 │
│ │
╰─────────────────╯ |
|
请求高手的指点和帮助。
谢谢了。
[
Last edited by 516526966 on 2009-5-18 at 02:48 ]
作者: 516526966
时间: 2009-5-15 05:26
麻烦大虾们给指点一下,谢谢了。。。
作者: netbenton
时间: 2009-5-15 07:03
@echo off&setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims=." %%a in ('type "%~dpnx0"') do (
set str=%%b
if "!str!" equ " ╭─────────╮" set r=y
if defined r echo;!str!
if "!str!" equ " ╰─────────────────╯" set r=
))>a.txt
exit
@echo off
cls
echo.
echo. ╭─────────╮
echo. ╭───┤ 选择如下操作 ├───╮
echo. │ ╰─────────╯ │
echo. │ │
echo. │ A. 好运天使 │
echo. │ │
echo. │ B. 中国CN-DOS │
echo. │ │
echo. │ Y.麻烦大家了 │
echo. │ │
echo. ╰─────────────────╯
echo.
echo. 大家好,欢迎光临中国DOS联盟
echo.
echo. 为什么总是这么笨呢?
echo.
echo. 请求大家啊帮忙。
echo.
pause>nul
exit
[
Last edited by netbenton on 2009-5-15 at 12:03 ]
作者: 516526966
时间: 2009-5-15 13:55
Quote: |
Originally posted by netbenton at 2009-5-15 07:03 AM:
@echo off&setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims=." %%a in ('type "%~dpnx0"') do (
set str=%%b
if "!str!" equ " ╭─ ... |
|
非常感谢您的回复,再麻烦大侠一点事情。如果我有如下的脚本:@echo off
cls
echo.
echo. ╭─────────╮
echo. ╭───┤ 选择如下操作 ├───╮
echo. │ ╰─────────╯ │
echo. │ │
echo. │ A. 好运天使 │
echo. │ │
echo. │ B. 中国CN-DOS │
echo. │ │
echo. │ Y.麻烦大家了 │
echo. │ │
echo. ╰─────────────────╯
echo.
echo. ╭─────────╮
echo. ╭─┤ 选择如下操作 ├─╮
echo. │ ╰─────────╯ │
echo. │ │
echo. │ A. 好运天使 │
echo. │ │
echo. │ B. 中国CN-DOS │
echo. │ │
echo. │ Y.麻烦大家了 │
echo. │ │
echo. ╰─────────────╯
echo ╔═══════════════╗
echo. ║ ‖ ║
echo ║ A.为人民服务 ‖ e.你是个好人 ║
echo. ║ ‖ ║
echo. ║ B.为人民服务 ‖ f.你是个好人 ║
echo. ║ ‖ ║
echo ║ C.为人民服务 ‖ g.你是个好人 ║
echo. ║ ‖ ║
echo. ║ D.为人民服务 ‖ h.你是个好人 ║
echo. ║ ‖ ║
echo. ╚═══════════════╝
echo.
echo. 大家好,欢迎光临中国DOS联盟
echo.
echo. 为什么总是这么笨呢?
echo.
echo. 请求大家啊帮忙。
echo.
pause>nul
exit
想得到下面的结果,应该怎样来解决。
能不能麻烦您把代码讲一下。
预想得到结果如下: Quote: |
╭─────────╮
╭───┤ 选择如下操作 ├───╮
│ ╰─────────╯ │
│ │
│ A. 好运天使 │
│ │
│ B. 中国CN-DOS │
│ │
│ Y.麻烦大家了 │
│ │
╰─────────────────╯
╭─────────╮
╭─┤ 选择如下操作 ├─╮
│ ╰─────────╯ │
│ │
│ A. 好运天使 │
│ │
│ B. 中国CN-DOS │
│ │
│ Y.麻烦大家了 │
│ │
╰─────────────╯
╔═══════════════╗
║ ‖ ║
║ A.为人民服务 ‖ e.你是个好人 ║
║ ‖ ║
║ B.为人民服务 ‖ f.你是个好人 ║
║ ‖ ║
║ C.为人民服务 ‖ g.你是个好人 ║
║ ‖ ║
║ D.为人民服务 ‖ h.你是个好人 ║
║ ‖ ║
╚═══════════════╝ |
|
也就是说,批处理中有多行代码和多个框,
我是想只让它输出所有的框到文本,其他的过滤掉。
再次感谢!!!!
[
Last edited by 516526966 on 2009-5-15 at 14:00 ]
作者: netbenton
时间: 2009-5-15 14:07
@echo off&setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims=." %%a in ('type "%~dpnx0"') do (
set str=%%b
if "!str:╭─=!" neq "!str!" set r=y
if "!str:╔═=!" neq "!str!" set r=y
if defined r echo;!str!
if "!str:╰─=!" neq "!str!" set r=
if "!str:╚═=!" neq "!str!" set r=
))>a.txt
exit
[
Last edited by netbenton on 2009-5-17 at 06:30 ]
作者: 516526966
时间: 2009-5-17 07:46
Quote: |
Originally posted by netbenton at 2009-5-15 02:07 PM:
@echo off&setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims=." %%a in ('type "%~dpnx0"') do (
set str=%%b
if "!str!" equ " ... |
|
上述代码经测试,失败,只能提取第一个框,
我查了findstr的相关资料,代码如下:
for /f "delims=" %%i in ('findstr /r "╭ │ ╰ ╔ ║ ╚ ┋ 〖 『" %0') do echo %%i>>temp0.txt
再想办法去掉echo
作者: netbenton
时间: 2009-5-17 08:40
@echo off&setlocal enabledelayedexpansion
(
for /f "delims=" %%a in ('type "%~dpnx0"') do (
set str=%%a
if "!str:╭─=!" neq "!str!" set r=y
if "!str:╔═=!" neq "!str!" set r=y
if defined r echo; !str:~5!
if "!str:╰────────────=!" neq "!str!" set r=
if "!str:╚═=!" neq "!str!" set r=
))>a.txt
start a.txt
exit
for /f "tokens=1,* delims=. " %%i in ('findstr /r "╭ │ ╰ ╔ ║ ╚ ┋ 〖 『" %0') do echo %%j>>temp0.txt
[
Last edited by netbenton on 2009-5-17 at 06:43 ]
作者: 516526966
时间: 2009-5-18 02:46
Quote: |
Originally posted by netbenton at 2009-5-17 08:40 AM:
[code]@echo off&setlocal enabledelayedexpansion
(
for /f "delims=" %%a in ('type "%~dpnx0"') do (
set str=%%a
if "!str:╭─=!" neq "!str!" ... |
|
十分感谢,问题终于解决了。谢谢!~~!~~
作者: jlty258
时间: 2009-6-9 10:54
弱弱的问一下,那些曲线怎么输出到文档里面的,无法理解