找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23079|回复: 4

[文本处理] [已解决]求助批处理逆向读取txt内容,不借助第三方程序

[复制链接]
发表于 2015-11-17 23:41:50 | 显示全部楼层 |阅读模式
txt内容逆向读取[行的逆向非文字逆向],不借助第三方程序[只能是系统自带的命令程序]
研究了两天了[搜了论坛]无果,请各位坛友指导

注:只要标准批处理,其余格式看不懂,或者给出哪个可执行程序也可以[加上参数便可]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-11-18 00:41:01 | 显示全部楼层
纯批可以做到,这里来一个 Bat+JS 混编
  1. 1>1/* :
  2. @echo off
  3. cscript -nologo -e:jscript "%~0" <a,txt
  4. pause & exit /b
  5. */
  6. WSH.StdIn.ReadAll().replace(
  7.    /.*/g,
  8.    function(str){
  9.       WSH.Echo(str.split('').reverse().join(''))
  10.    }
  11. )
复制代码
发表于 2015-11-18 00:50:37 | 显示全部楼层
纯批的话,按一般的逻辑是计算字符串长度后再逆序
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.    set "$=%%a#"
  4.    set "str=%%a"
  5.    set "output="
  6.    setlocal enabledelayedexpansion
  7.    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!
  8.    for /l %%b in (1 1 !len!) do set output=!output!!str:~-%%b,1!
  9.    echo !output!
  10.    endlocal
  11. )
  12. pause
复制代码
当然你也可以霸王硬上弓,慢归慢,但好记:
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.    set "str=%%a"
  4.    set "output="
  5.    setlocal enabledelayedexpansion
  6.    for /l %%b in (0 1 8190) do set output=!str:~%%b,1!!output!
  7.    echo !output!
  8.    endlocal
  9. )
  10. pause
复制代码
 楼主| 发表于 2015-11-18 00:54:05 | 显示全部楼层
回复 2# CrLf
汗啊,你理解错了,不是文字逆向,是行的逆向,最后一行开始一直到第一行这么读取,还是来个标准的执行吧,这个的确看不懂,不过这个也挺好玩的,居然文字都反了,(因为要写到合集中的所以必须是标准的批处理才可以正常运行)
发表于 2015-11-18 00:56:09 | 显示全部楼层
回复 4# /zhqsystem/zhq


    那更简单了,秒杀
  1. sort /+65535 a.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
/zhqsystem/zhq + 1 非常感谢,就是这句

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 11:57 , Processed in 0.021762 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表