首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文件名中添加序列前缀

在文件名中添加序列前缀
EN

Stack Overflow用户
提问于 2013-09-13 11:19:41
回答 3查看 4.8K关注 0票数 1

我想从命令行重命名多个文件(我正在使用windows)。重命名前:

代码语言:javascript
复制
fileA.txt
fileB.txt
fileC.txt

重命名后:

代码语言:javascript
复制
1_fileA.txt
2_fileB.txt
3_fileC.txt

顺便说一句,即使我在使用窗口,但我有一些工具,如sed,grep,awk.但我找不到一种使用它们的方法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-13 21:54:55

直接从命令行:

代码语言:javascript
复制
for /f "delims=: tokens=1,2" %A in ('dir /b *.txt^|findstr /n .') do @ren "%B" "%A_%B"
票数 1
EN

Stack Overflow用户

发布于 2013-09-13 11:51:45

使用cygwin和bash的一种方法:

代码语言:javascript
复制
$ n=1

$ ls
fileA.txt  fileB.txt  fileC.txt

$ for i in *.txt; do mv $i ${n}_${i}; ((n++)); done

$ ls
1_fileA.txt  2_fileB.txt  3_fileC.txt
票数 1
EN

Stack Overflow用户

发布于 2013-09-13 11:53:24

您可以使用批处理文件:

代码语言:javascript
复制
@echo off
setlocal enabledelayedexpansion
set i=0
for %%a in (*.*) do (
    set /a i=i+1
    ren %%a !i!%%a
)

将其保存到另一个目录中的文件,然后转到文件存在的目录。之后,在cmd.exe命令提示符中运行:

代码语言:javascript
复制
call X:\path\to\file.bat

基于ls,awk,xargs和mv:

代码语言:javascript
复制
ls *.* | awk {printf("\"%s\""\x20""\"%d%s\"\n",$0,NR,$0)} | xargs mv
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18785061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档