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

[文本处理] 求助:批处理如何在每行前面插入/添加递增的数字序号?

本帖最后由 pcl_test 于 2017-6-5 09:41 编辑

求助:批处理如何在每行前面追加序列数字?
盾构机姿态的人工测量原理
基于GPS的时钟同步模型选择与实验分析
半参数模型估计的补偿最小二乘法与正则核方法
上下文敏感的空间信息服务智能推送研究
巴丹吉林沙漠高大沙山区沙层含水量与水分来源探讨
NiCrAlYSi涂层DD6单晶高温合金界面再结晶和互扩散行为研究
CRT显示器的颜色转换模型
ISAR非平稳目标成像时间和转速联合估计方法
盾构刀盘参数化自动建模与优化设计
一种动态角色模型及其实现机制
平稳函数线性内插的教学探讨
基于TGO软件的GPS网同步环及异步环提取

把a文件夹内所有的文本,在每行前面追加序列数字并空两格:
0001  盾构机姿态的人工测量原理
0002  基于GPS的时钟同步模型选择与实验分析
0003  半参数模型估计的补偿最小二乘法与正则核方法
0004  上下文敏感的空间信息服务智能推送研究
0005  巴丹吉林沙漠高大沙山区沙层含水量与水分来源探讨
0006  NiCrAlYSi涂层DD6单晶高温合金界面再结晶和互扩散行为研究
0007  CRT显示器的颜色转换模型
0008  ISAR非平稳目标成像时间和转速联合估计方法
0009  盾构刀盘参数化自动建模与优化设计
0010  一种动态角色模型及其实现机制
0011  平稳函数线性内插的教学探讨
诗意地栖居

for /f 试试

TOP

excel里面应该可以。插入(空行),填充——序列。之后,再在文本编辑器行首添加00,替换制表符为两个空格,删除(替换)多出来的引号。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=10000
  4. for %%a in ("C:\test\a\*.*") do (
  5.     set /a n+=1
  6.     ren "%%a" "!n:~-4!  %%~nxa"
  7. )
复制代码

TOP

回复 2# sxw


   如何用 for /f 试试?
诗意地栖居

TOP

本帖最后由 601997526 于 2011-11-11 11:36 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=10000
  4. (for /f "delims=" %%a in (a.txt) do (
  5.     set /a n+=1
  6.     echo.!n:~-4!  %%a
  7. ))>b.txt
复制代码
之前这个是复制4楼的,少写了一对括号,已修正
1

评分人数

TOP

本帖最后由 452452 于 2011-11-11 10:37 编辑

回复 4# awk


   不是在文件名前面追加序列数字,而是在每个文本文件里面的每行前面追加序列数字。
诗意地栖居

TOP

回复 6# 601997526


    代码的输出结果只有最后一行
0012  基于TGO软件的GPS网同步环及异步环提取
诗意地栖居

TOP

6楼的不就可以吗?

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for %%i in (x:\a\*.txt) do (
  3.      set n=100001
  4.     (for /f "delims=" %%a in (%%i) do (
  5.         echo !n:~1!  %%a
  6.         set /a n+=1
  7.      ))>$
  8.      move $ %%i
  9. )
  10. pause
复制代码

TOP

10楼的没有输出结果
诗意地栖居

TOP

本帖最后由 Hello123World 于 2011-11-11 12:40 编辑
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. (For /f "delims=: tokens=1*" %%i in ('findstr /n ".*" a.txt') do (
  4. Set n=%%i
  5. If !n! lss 10 Set n=000!n!
  6. If !n! gtr 9 If !n! lss 100 Set n=00!n!
  7. If !n! gtr 99 If !n! lss 1000 Set n=0!n!
  8. echo.!n! %%j
  9. )
  10. )>aa.txt
  11. start aa.txt
  12. pause
复制代码
4,6楼的算法好,我这个太罗嗦了。

TOP

如果不限定位数,可以这样:
findstr /n
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

能不能就改原文件!不生成新文件?
本人已死!不用联系!~
要联系下来联系!~~

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b a\*.txt') do (
  3. set n=10000
  4. for /f "usebackq delims=" %%a in ("%%~dpia\%%~nxi") do (
  5. set /a n+=1
  6. echo !n:~-4!  %%a>>new%%~nxi
  7. )
  8. )
  9. pause
复制代码

TOP

返回列表