1

コマンドラインから複数のファイルの名前を変更したい (私は Windows を使用しています)。名前を変更する前に:

fileA.txt
fileB.txt
fileC.txt

名前を変更した後:

1_fileA.txt
2_fileB.txt
3_fileC.txt

ちなみに、私はWindowsを使用していますが、sed、grep、awkなどのツールを持っていますが、それらを使用する方法が見つかりません

4

3 に答える 3

1

cygwin と bash を使用する 1 つの方法:

$ 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-13T11:51:45.740 に答える
1

バッチファイルを使用できます:

@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 mv
于 2013-09-13T11:53:24.937 に答える