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

TOP

回复 6# 愤怒的CMD


    gawk 可以像这样:
  1. gawk -v count=300 "{N=FNR-1;print>int(N/count+1) \".txt\"}" 测试.txt
复制代码
1

评分人数

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set/a a=0,n=300,v+=1
  3. for /f "delims=" %%i in (a.txt) do (
  4.     set/a a+=1
  5.     if !a! leq !n! (>>!v!.txt echo,%%i) else (set/a n+=300,v+=1&>>!v!.txt echo,%%i)
  6. )
  7. pause
复制代码
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

这个问题用gawk怎么写代码呢?

TOP

  1. @echo off&color f0&setlocal enabledelayedexpansion
  2. set /a n=0,m=1
  3. for /f "delims=" %%i in (test.txt) do (
  4. set /a n+=1
  5. if !n! leq 300 (
  6. echo %%i>>!m!.txt
  7. if !n! == 300 (
  8. echo 第!m!组已生成
  9. set /a m+=1,n=0
  10.                )
  11.                  )
  12. )
  13. pause
复制代码
回复 1# 逆流而上的熊猫

TOP

回复 2# pcl_test


    好用谢谢 :lol

TOP

本帖最后由 pcl_test 于 2015-2-9 16:53 编辑

回复 1# 逆流而上的熊猫

假设有文档test.txt
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=1
  3. set m=1
  4. for /f "delims=" %%i in (test.txt) do (
  5. if "!n!" neq "300" (
  6. >>!m!.txt echo %%i
  7. set /a n+=1
  8. ) else (
  9. >>!m!.txt echo %%i
  10. set n=1
  11. echo 第!m!组文档已生成。。。
  12. set /a m+=1
  13. )
  14. )
  15. pause
复制代码

TOP

返回列表