Board logo

标题: [文本处理] 【已解决】BAT或PowerShell批量处理文字后面加间隔 [打印本页]

作者: rockjean    时间: 2019-9-12 10:23     标题: 【已解决】BAT或PowerShell批量处理文字后面加间隔

本帖最后由 rockjean 于 2021-4-19 16:33 编辑

请教靓仔大神们,现有如下格式的文本,我想在每个字后面加逗号或者Tab空格,行数不变,
目的是要把最终文本放入电子表格,保证每格一个字。

千字文
                  周兴嗣
天地玄黄 宇宙洪荒 日月盈昃 辰宿列张
寒来暑往 秋收冬藏 闰余成岁 律吕调阳
云腾致雨 露结为霜 金生丽水 玉出昆冈
剑号巨阙 珠称夜光 果珍李柰 菜重芥姜
海咸河淡 鳞潜羽翔 龙师火帝 鸟官人皇
始制文字 乃服衣裳 推位让国 有虞陶唐
吊民伐罪 周发殷汤 坐朝问道 垂拱平章
... ...

用BAT容易实现否?
作者: xczxczxcz    时间: 2019-9-12 11:31

纯bat也可以,不过弄多了,会崔生华发。
类似下面这个就简单了。
  1. $str=@'
  2. 千字文
  3.         周兴嗣
  4. 天地玄黄 宇宙洪荒 日月盈昃 辰宿列张
  5. 寒来暑往 秋收冬藏 闰余成岁 律吕调阳
  6. 云腾致雨 露结为霜 金生丽水 玉出昆冈
  7. 剑号巨阙 珠称夜光 果珍李柰 菜重芥姜
  8. 海咸河淡 鳞潜羽翔 龙师火帝 鸟官人皇
  9. 始制文字 乃服衣裳 推位让国 有虞陶唐
  10. 吊民伐罪 周发殷汤 坐朝问道 垂拱平章
  11. '@
  12. $csv=($str.Split("`n"))|%{ [char[]]$_ -join ',' }
  13. sc 'csv.txt' -Value $csv -Force;
复制代码

作者: rockjean    时间: 2019-9-12 11:40

回复 2# xczxczxcz


    这个是怎么使用的呢?是不是在powershell里,敲这样的代码就成?
作者: Batcher    时间: 2019-9-12 11:44

回复 3# rockjean


怎样执行 PowerShell 代码?
http://bbs.bathome.net/thread-31071-1-1.html
作者: xczxczxcz    时间: 2019-9-12 11:47

是的,方法N多,只例其一,然后打开 EXCEL 导入文本数据 逗号分隔。OK
作者: rockjean    时间: 2019-9-12 11:51

回复 5# xczxczxcz


    好滴,非常感谢您的帮助!
作者: rockjean    时间: 2019-9-12 11:51

回复 4# Batcher


    感谢Batcher大神提示~
作者: WHY    时间: 2019-9-12 16:26

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims="  %%i in ('type 1.txt') do (
  4.     set "s=%%i"
  5.     for /L %%j in (0 1 30) do (
  6.         if not "!s:~%%j!" == "" set /p "=!s:~%%j,1!,"
  7.     ) < nul
  8.     echo;
  9. )) > 1.csv
  10. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2