web-dev-qa-db-ja.com

フォルダ内のすべてのファイル名から最初の文字を削除するにはどうすればよいですか?

フォルダ内のすべてのファイル名から最初の文字(常に "_")を削除する必要があります。

現在このコマンドを使用しています:ren _*.txt *.txtしかし、機能しません。

ただし、ren _*.txt A*.txt完全に機能しますが、私が望んでいるものではありません。

6
aneuryzm

もう一度、powershellを試してください;)

これを目的のディレクトリで実行します。

_get-childitem *.txt | rename-item -newname { [string]($_.name).substring(1) }
_

説明:
-_get-childitem *.txt_は、実際のディレクトリにあるすべての* .txtファイルを収集します。
-_rename-item -newname_は、get-childitemコマンドからのパイプされた結果の名前を、{}で生成された文字列に変更します
-[string]($_.name).substring(1)は、最初の文字の後に始まるファイル名を取ります

25
wullxz

このための複雑なスクリプトは忘れてください。

renameは非常に古く、正しく完了したコマンドではありません。それを適切に使用しない場合、結果はあなたを驚かせるかもしれません。

たとえば、プレフィックスabcdをabcd1.txt、abcd2.txt、abcd3.txtなどから削除して、1.txt、2.txt、3.txtを取得するには、次のコマンドを使用します。

rename "abcd*.txt" "////*.txt"

削除したい最初の文字の数と同じ数の/が必要です。したがって、特定の状況では、次を使用します

ren "_*.txt" "/*.txt"

両方の引数に二重引用符を使用してください。

4
anonymous

何も書く必要がないようにしたい場合は、 一括名前変更ユーティリティ を試してください。インターフェースは最初はかなり怖いかもしれませんが、それを試してみるだけで、実際に使用するのはそれほど難しくありません。

1
jsims281

将来誰かが必要とする場合でも、私は1〜4の名前変更を使用します。高速で、インストールする必要はありません。実行すると、詳細モードのF2を押して、最初の4文字を削除するように指示できます。以下はプログラムへのリンクです。

ダウンロードリンク: http://www.1-4a.com/rename/

0
Mustafa