2011-11-13 13 views
0

名前を変更したいディレクトリ(ウィンドウ)に、特定の文字シーケンスがそれぞれ削除されるようにたくさんのファイルがあります。たとえば、以下のようなファイル名から "-FFF"を削除したいとします。ファイルの部分文字列の名前を変更する

asd-dfj-FFF.mp3 
dfd-sdj-FFF.mp3 

これを行うにはどのような方法が最適ですか?どんな言語でも問題ありません。私はC & Javaを知っていますので、私はそれがそうでない言語であれば私は好きです。

答えて

1

解決策はないと考えて、自分で解決策を投稿します。

以下のバッチファイルを作成しました。これにより、ファイル名に-aSBoが付加されたファイル名が削除されます。あなたはいくつかのオプションは、このスタックオーバーフローのページでパターンベースの名前の変更を行うには見つけることができます

::Change the *-aSBo.* to whatever files you want to strip 
for %%f in (*-aSBo.*) do call :rename "%%f" 

goto :eof 

:rename 
set var="%~n1 
set var1=%~x1" 
::Change the 0 (start) and -5 (end) values to match the substring start/end values that you want to rename to 
ren %1 %var:~0,-5%%var1% 
0

Windows Power Shell、Perl、またはPythonのいずれかを一見するといいでしょう。私の個人的なお気に入りはPythonでしょう。

上記の3つはスクリプト言語であり、あなたがしたいことに適しています。

+0

あなたは、私が尋ねたものを達成し、いくつかのコードを提供する場合、私はあなたに答えを与えるだろう。.. – Michael

+0

- http://stackoverflow.com/questions/225735 /バッチ - ファイル中のファイル名の変更。私の意見では、コードはバッチファイルのバージョンよりはるかにクリーンで読みやすいように見えます。 – Danish

1

Windows cmdシェルのrename commandでこれを行うことができます。追加の言語は必要ありません。

C:\tmp\> ren *-FFF.mp3 *.mp3 

(私は窓が検証する便利なボックスはありませんが、私は、これはDOS時代に戻って作業を覚えて、そして:

一時ディレクトリにいくつかのテストファイルでこれを試してみてくださいマイクロソフト社の文書によれば、まだ動作していることが示唆されています)

+0

うーん、残念ながら、 'ren * .mp3 * .txt'を実行しても動作しますが、' * -FFF.mp3 * .mp3'を追加すると何も起こりません。しかし、 'ren * -FFF.mp3 * .txt'を実行するとファイルのファイル拡張子は変わりますが、名前は – Michael

+0

ではありません:' ren * .mp3 * 'そして' ren * -FFF * ' 、それは働くでしょうか? – ObscureRobot

+0

どちらもうまく動作しません – Michael

関連する問題