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

[文本处理] [已解决]批处理如何把文本一行变多行?

如    69|8569|986|......

结果,以分隔符 |  标志

69
8569
986
。。。

回复 22# 慕夜蓝化


    运行有效,谢谢了

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (新建文本文档.txt) do (
  4.     set "str=%%i"
  5.     for %%a in ("!str:|=" "!") do echo,%%~a
  6. )
  7. pause
复制代码
1

评分人数

踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 16# bailong360


    谢谢了

TOP

回复 19# chromatin2

是的,除非外部调用

TOP

回复 18# pcl_test


    这样,不能用bat产生的字串给这个,然后再返回到bat的变量吧?

TOP

本帖最后由 pcl_test 于 2015-4-5 19:21 编辑
  1. @if (0)==(0) echo off
  2. cscript -nologo -e:jscript %~s0
  3. pause & exit
  4. @end
  5. var str="69|8569|986|456|678|6898"
  6. WScript.Echo(str.replace(/\|/g,"\n"))
复制代码

TOP

回复 2# DAIC


    SED.exe 功能蛮强大的

TOP

回复 15# wangdao6699


    这些工具论坛里都有下载地址
http://bbs.bathome.net/viewthread.php?tid=3981

TOP

回复 13# bailong360

Linux系统 不会啊,只会微软系统

TOP

回复 12# pcl_test


    powershell 更简洁

TOP

本帖最后由 bailong360 于 2015-4-5 18:56 编辑

凑热闹
gawk
  1. @gawk -F "|" "for(i=1;i<=NF;i++) print $i>$New.txt" file.txt
复制代码
grep
  1. @grep -oP "\d+" file.txt>$New.txt
复制代码

TOP

powershell
  1. echo '69|8569|986|456|678|6898' | %{Write-Host $_.Replace("|","`n")}
复制代码

TOP

本帖最后由 pcl_test 于 2015-4-5 19:25 编辑
  1. '&cls&@echo off&cscript -nologo -e:vbscript %~fs0 & pause & exit /b
  2. str="69|8569|986|456|678|6898"
  3. WScript.echo replace(str,"|",chr(10))
复制代码

TOP

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

返回列表