[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

txt内容逆向读取[行的逆向非文字逆向],不借助第三方程序[只能是系统自带的命令程序]
研究了两天了[搜了论坛]无果,请各位坛友指导

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

纯批可以做到,这里来一个 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. )
复制代码

TOP

纯批的话,按一般的逻辑是计算字符串长度后再逆序
  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
复制代码

TOP

回复 2# CrLf
汗啊,你理解错了,不是文字逆向,是行的逆向,最后一行开始一直到第一行这么读取,还是来个标准的执行吧,这个的确看不懂,不过这个也挺好玩的,居然文字都反了,(因为要写到合集中的所以必须是标准的批处理才可以正常运行)
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 4# /zhqsystem/zhq


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

评分人数

TOP

返回列表