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


    为啥不一次性说完呢

TOP

把你的标准格式放在geshi.txt里,你手动做一个就行。然后bat文件和其他txt文件放在同一个目录下运行。
https://easychuan.cn/r/2eex2?t=ff
按这个附件试试看,记住要处理的文本里字符串个数要和标准格式一致吧,不一致的话没考虑
  1. <# :
  2. @echo off
  3. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
  4. pause
  5. #>
  6. dir *.txt|?{$_.Name -ne "geshi.txt"}|%{
  7. $name=$_.basename
  8. $a=gc $_
  9. $aa=@()
  10. for($i=0;$i -le $a.Length;$i=$i+2){$aa+=$a[$i]+$a[$i+1]}
  11. $m=0
  12. gc .\geshi.txt|%{
  13. if($_.length -eq 0)
  14. {
  15. $n=0;
  16. ""|out-file ($name+"_result.txt") -append
  17. }
  18. else
  19. {
  20. $n=($_.length+1)/3
  21. [system.String]::Join(' ', $aa[$m..($m+$n)]) |out-file ($name+"_result.txt") -append
  22. $m+=$n
  23. }
  24. }
  25. }
复制代码

TOP

本帖最后由 pd1 于 2022-11-30 15:16 编辑

回复 15# hqinghua


    21行改成
($m+$n-1)    每一行多加了一个数    -1应该就行了

TOP

你自己做的数据是不是有点问题
C8 04
变成了C8 00

这个我改不了,没规律,也可能你自己搞错了

TOP

返回列表