标题: [文本处理] [已解决]求助批处理逆向读取txt内容,不借助第三方程序 [打印本页]
作者: /zhqsystem/zhq 时间: 2015-11-17 23:41 标题: [已解决]求助批处理逆向读取txt内容,不借助第三方程序
txt内容逆向读取[行的逆向非文字逆向],不借助第三方程序[只能是系统自带的命令程序]
研究了两天了[搜了论坛]无果,请各位坛友指导
注:只要标准批处理,其余格式看不懂,或者给出哪个可执行程序也可以[加上参数便可]
作者: CrLf 时间: 2015-11-18 00:41
纯批可以做到,这里来一个 Bat+JS 混编- 1>1/* :
- @echo off
- cscript -nologo -e:jscript "%~0" <a,txt
- pause & exit /b
- */
- WSH.StdIn.ReadAll().replace(
- /.*/g,
- function(str){
- WSH.Echo(str.split('').reverse().join(''))
- }
- )
复制代码
作者: CrLf 时间: 2015-11-18 00:50
纯批的话,按一般的逻辑是计算字符串长度后再逆序- @echo off
- for /f "delims=" %%a in (a.txt) do (
- set "$=%%a#"
- set "str=%%a"
- set "output="
- setlocal enabledelayedexpansion
- set len=&for %%a in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1)do if !$:~%%a^,1!. NEQ . set/a len+=%%a&set $=!$:~%%a!
- for /l %%b in (1 1 !len!) do set output=!output!!str:~-%%b,1!
- echo !output!
- endlocal
- )
- pause
复制代码
当然你也可以霸王硬上弓,慢归慢,但好记:- @echo off
- for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- set "output="
- setlocal enabledelayedexpansion
- for /l %%b in (0 1 8190) do set output=!str:~%%b,1!!output!
- echo !output!
- endlocal
- )
- pause
复制代码
作者: /zhqsystem/zhq 时间: 2015-11-18 00:54
回复 2# CrLf
汗啊,你理解错了,不是文字逆向,是行的逆向,最后一行开始一直到第一行这么读取,还是来个标准的执行吧,这个的确看不懂,不过这个也挺好玩的,居然文字都反了,(因为要写到合集中的所以必须是标准的批处理才可以正常运行)
作者: CrLf 时间: 2015-11-18 00:56
回复 4# /zhqsystem/zhq
那更简单了,秒杀复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |