私は、99 - DescriptiveName.txt
というパターンで名前を付けたファイルの束を持っていますが、前から番号を削除したいのでDescriptiveName.txt
だけにしています
これを行うにはどうすればいいですか?コマンドラインからできますか、それともこれができるユーティリティはありますか?
132 community wiki None
タイトルに「ドSで」と書いてあるのはわかるけど、これでいいのかなと思って探しているだけのような印象を受けます
このために私が見つけた絶対的な最高のツールは、Bulk Rename Utilityです
コマンドラインツールではありませんが、本当にそのように使いたいのであれば、コマンドライン版もあります
GUI版を何度も使っていますが、非常にパワフルで高速で非常に使いやすいです
あ、それと個人利用は無料です
96 community wiki 2017-02-09
小さなPowerShellスクリプト
$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }
より複雑な正規表現と組み合わせると、こんな感じになるかもしれません
ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*)\.mp3$', '$2 - $1.mp3' }
これは’01 – Beginning.mp3’のようなものを’Beginning – 01.mp3’に変えてしまいます
リネームを発行する前に、Rename-Item
の-WhatIf
パラメータを使用してリネームをチェックします
64 community wiki 2020-04-26
どうしてもwindowsのコマンドラインを使いたいのであれば(何かをダウンロードしたくないのであれば)、次のようにするといいでしょう
dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l
1行目は、ファイルのリストをfileList.txtというファイルに出力します。2行目は、リスト内の各名前を、#、”-“、残りの名前の3つの部分に分離します。それぞれの名前に対して、リネームコマンドを実行します
24 community wiki 2009-08-07
AntRenamer を使うと、リネームのパターンを簡単に定義できます
個人でも商用でも無料で利用できます
24 community wiki 2017-02-09
old school:
DIR *.TXT >TEMP.BATのように、DIRを実行して出力をファイルにリダイレクトすることができます
そして、エディタを使って不要な部分を取り出し、必要な部分を修正します。一番上の行に「@echo off」を追加し、保存して実行します
19 community wiki 2009-08-07
もう一つのオプション。大容量ファイルリネーム
複数のファイルや拡張子の名前を簡単に変更することができます。それは非常に高速でシンプルです
上級者や開発者向けには、正規表現を使用することも可能です
実際に見てみてください
18 community wiki 2020-03-30
私はTotal Commanderのマルチリネームツール(ctrl+M)をこのようなことに使っています。数えきれないほど多くのツールがありますが、この便利なツールは使いやすく、必要に応じて正規表現やテンプレートを使用することもできます。また、変更を行う前にプレビューを表示してくれます
トータルコマンダーをお勧めする質問に答えたのはこれで3回目か4回目です…。私は彼らから手数料を貰うべきだ 😉
13 community wiki 2009-08-23
私が満足しているツールは、ReNamerです。リネームルールの保存にも対応していて、同じリネームを何度もする私にとっては重宝しています
以下は、最初のダッシュの前のテキストを削除する方法の例ですが、他にも定義できるルールはたくさんあります
11 community wiki 2014-03-04
上級者や開発者の方には、RegexRenamerをお勧めします
Pro’s:
- 非常にシンプルなUI
- 開発者にはお馴染みの正規表現;
- GPLv2;
Con’s:
- コマンドラインではありません!:)
6 community wiki 2013-01-03
これにはFree Commander Portable(フリーウェア)を使って効果を上げています
- 名前を変更するファイルまたはディレクトリを選択または移動します
- Ctrl-M]を押す(または、[ファイル] > [マルチリネーム])
- は、あなたの状況に合わせて記入してください
- プレビューが期待通りのものを表示していることを確認してください
- Go!
5 community wiki 2009-11-27
最も簡単な方法は、マスターの名前を変更を使用することです
3 community wiki 2009-07-30
ここにコマンドラインでの解決策があります — ファイル名の “パターン “を簡単に扱えるようにするために書いたJavaプログラムです。フリーでオープンソースなので、自由に改変してください
リネームワンド http://renamewand.sourceforge.net/
関連する使用例をいくつかご紹介します
ファイル名の"-"
の前にあるものはすべて削除してください
java -jar RenameWand.jar "<a> - <b>" "<b>"
ファイル名に3桁の数字を前置し、最終修正時刻でソートします
java -jar RenameWand.jar "<a>" "<3|#FT> <a>"
ファイル名の一部を再配置したり、大文字小文字を変更したりします
java -jar RenameWand.jar "<album> - <artist> - <song>.<ext>"
"<artist.upper> <album.title> - <song>.<ext.lower>"
3 community wiki 2009-08-23
1ヶ月ほど前にRenPhoricを発見しました。素晴らしい。しかも無料
複雑なインターフェースもなく、すぐに希望通りの名前に変更することができました。正規表現が可能。それ以来、他のものは使っていません
3 community wiki 2009-08-23
上の@zdanのように、私もコマンドライン(Windowsでは “cmd.exe “を使用)でこれを行いました。私の特定のケースのためにいくつかのいじくり回しが必要でしたが、少し調べれば解決しました
zdanのように、私もリストをTXTファイルに出力し、tokens
とdelims
を使ってファイル名を変更しました。私の場合は、以下のような名前のファイルのリストから始めました
name-01-02-2012.csv
ファイルの日付の部分をy/m/d順にして、最後に「名前」の部分を入れて、このように読めるようにしたかったのです
2012-01-02-name.csv
これを一括して行うには、以下のコードを使用しました。この方法で行う場合、ファイル名のすべての部分が”.csv “の拡張子を含めて考慮されることに注意してください。これは最初の時には、私の頭をおかしくしました
dir /B > fileList.txt
for /f "tokens=1,2,3,4,5 delims=-." %i in (fileList.txt) DO ren "%i-%j-%k-%l.%m" %l-%j-%k-%i.%m
tokens
はファイル名の「部分」、delims
は区切り文字です。私の場合、2つの区切り文字(ダッシュとドット)があることに注意してください
個人的には「一括リネーム」アプリは気になりません。他の人が言っているように、GUIは最悪で、直感的ではありません。少し研究して簡単なコーディングをすれば、これらのことを効率的かつ迅速に行うことができます
3 community wiki 2012-09-10
CylogのWildRenameが好きです。パワフルでありながら、使い勝手がよく、機能も充実しています
- fast
- string manipulation
- counters
- wildcards
- regular expressions
- substitution
- case-conversion
- logging
- シミュレーション(実際に適用せずに結果を表示する)
2 community wiki 2011-08-14
面白い名前とコマンドラインツール非常に強力な、非常に高速で非常に使いやすいです。”テキストの検索と置換” FART http://fart-it.sourceforge.net/ WORKS GREAT!
USAGE
Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]
Options:
-h --help Show this help message (ignores other options)
-q --quiet Suppress output to stdio / stderr
-V --verbose Show more information
-r --recursive Process sub-folders recursively
-c --count Only show filenames, match counts and totals
-i --ignore-case Case insensitive text comparison
-v --invert Print lines NOT containing the find string
-n --line-number Print line number before each line (1-based)
-w --word Match whole word (uses C syntax, like grep)
-f --filename Find (and replace) filename instead of contents
-B --binary Also search (and replace) in binary files (CAUTION)
-C --c-style Allow C-style extended characters (\xFF\0\t\n\r\\ etc.)
--cvs Skip cvs dirs; execute "cvs edit" before changing files
-a --adapt Adapt the case of replace_string to found string
-b --backup Make a backup of each changed file
-p --preview Do not change the files but print the changes
2 community wiki 2013-03-30
マルチリネームスクリプトは、スクリプト経由で操作できる Total Commanders マルチリネームツールに代わるオープンソースのツールです。メタデータ情報のために TC プラグインを使うことができます
https://code.google.com/p/multi-rename-script/
2 community wiki 2013-11-04
@echo off setlocal enabledelayedexpansion set X=5 set FOLDER_PATH=. pushd %FOLDER_PATH% for %%f in (*) do if %%f neq %~nx0 ( set "filename=%%~nf" set "filename=!filename:~%X%!" ren "%%f" "!filename!%%~xf" ) popd
これをバッチファイルに保存して実行します
2 community wiki 2014-07-04
私は大学のコースを管理するためにBlackboardを使用しています。私が大量の課題をダウンロードするとき(Blackboardでは、成績評価欄の上部をクリックして、「課題ファイルのダウンロード」をクリックします)、Blackboardはファイル名に余分なものをたくさん追加します
こんな感じです
Recitation20Assignment_studentname_attempt_2013-03-01-20-03-09_Exercise28129.docx
そして、これが私が欲しかったものです
studentname.docx
そこで、@zdanさんと@gtr1971さんがアドバイスしてくれた方法で、ファイルが入っているフォルダ(CMD.EXE)の上でコマンドウィンドウを開いてみました。そして、以下のコマンドを実行して、すべてのファイル名をドキュメントに入れます
dir /b >filelist.txt
文書を編集し、フォルダ名などを削除します
このコマンドを使用して、Blackboardに追加されたファイル名をユーザ名と拡張子だけで置き換えることができます
for /f "tokens=1,2,3,4,5,6 delims=_." %i in (filelist.txt) do ren "%i _%j_%k_%l_%m.%n" %j.%n
これが同じように誰かの助けになることを願っています
1 community wiki 2013-03-02
ここにも File Attribute Changer と呼ばれる、ファイルの名前を変更するのに使えるシンプルなプログラムがあります。これはポータブルなプログラムなので、USB ドライブに入れて持ち歩くことができます
1 community wiki 2013-07-10
私は、JREN.BATと呼ばれるハイブリッド JScript/バッチコマンドラインユーティリティを開発しました。これは純粋なスクリプトで、XP 以降の Windows マシン上でネイティブに動作します。完全なドキュメントがスクリプト内に埋め込まれています
JREN.BATが現在のディレクトリにあるか、パス内のどこかにあると仮定すると、リネームのタスクは簡単になります
jren "^\d+[ -]+(.+)\.txt$" "$1" /i
or
jren "^\d+[ -]+(?=.+\.)" "" /fm "*.txt"
サブディレクトリに対して再帰的にリネームを実行する /S
オプションなど、多くのオプションがあります
1 community wiki 2014-12-01
もしあなたが本格的なパワーを必要とし、お金を出し惜しみしないのであれば…PowerGrep は、市場に出回っている最も強力で汎用性の高いツールの 1 つです… PowerGrep を使用すると、ほとんど何でも名前を変更することができます… バイナリ検索と置換もできます…これは RegEx Guru、Jan Goyvaertsによって作成されました
0 community wiki 2015-03-18