我想从命令行重命名多个文件(我正在使用windows)。重命名前:
fileA.txt
fileB.txt
fileC.txt重命名后:
1_fileA.txt
2_fileB.txt
3_fileC.txt顺便说一句,即使我在使用窗口,但我有一些工具,如sed,grep,awk.但我找不到一种使用它们的方法
发布于 2013-09-13 21:54:55
直接从命令行:
for /f "delims=: tokens=1,2" %A in ('dir /b *.txt^|findstr /n .') do @ren "%B" "%A_%B"发布于 2013-09-13 11:51:45
使用cygwin和bash的一种方法:
$ 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发布于 2013-09-13 11:53:24
您可以使用批处理文件:
@echo off
setlocal enabledelayedexpansion
set i=0
for %%a in (*.*) do (
set /a i=i+1
ren %%a !i!%%a
)将其保存到另一个目录中的文件,然后转到文件存在的目录。之后,在cmd.exe命令提示符中运行:
call X:\path\to\file.bat基于ls,awk,xargs和mv:
ls *.* | awk {printf("\"%s\""\x20""\"%d%s\"\n",$0,NR,$0)} | xargs mvhttps://stackoverflow.com/questions/18785061
复制相似问题