コマンドラインから複数のファイルの名前を変更したい (私は Windows を使用しています)。名前を変更する前に:
fileA.txt
fileB.txt
fileC.txt
名前を変更した後:
1_fileA.txt
2_fileB.txt
3_fileC.txt
ちなみに、私はWindowsを使用していますが、sed、grep、awkなどのツールを持っていますが、それらを使用する方法が見つかりません
コマンドラインから複数のファイルの名前を変更したい (私は Windows を使用しています)。名前を変更する前に:
fileA.txt
fileB.txt
fileC.txt
名前を変更した後:
1_fileA.txt
2_fileB.txt
3_fileC.txt
ちなみに、私はWindowsを使用していますが、sed、grep、awkなどのツールを持っていますが、それらを使用する方法が見つかりません
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
バッチファイルを使用できます:
@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