ファイル名からマイナス記号を削除するバッチファイル

ファイル名からマイナス記号を削除するバッチファイル

特定のフォルダー内のいくつかのファイル名をクリーンアップしようとしていますが、各ファイル名の先頭からマイナス記号を削除するバッチ ファイルを作成する方法を知りたいです。

-FileName.pdf というパターンのファイルが多数あるので、先頭のマイナス記号を削除して、FileName.pdf だけにしたいと思います。

これまでのところ、次のコマンドがあります:

dir /B > Batch.txt
for /f "tokens=1,2" %i in (Batch.txt) DO ren "%i %j" %l

もっと簡単に使えるものはありますか?

前もって感謝します

答え1

先頭のマイナス記号を削除したい

次のバッチファイルを使用します。

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir /b -*.pdf') do (
  set _fname=%%i
  echo ren %%i !_fname:~1!
  )

ノート:

  • これにより、式に一致するすべてのファイル名から最初の文字が削除されます-*.pdf
  • バッチ ファイルの名前が正しく変更されることが確実な場合は、echo renを置き換えます。ren

参考文献

  • Windows CMD コマンドラインの AZ インデックス- Windows コマンド ラインに関連するあらゆることに関する優れたリファレンス。
  • ディレクトリ- ファイルとサブフォルダーのリストを表示します。
  • 有効遅延拡張- 遅延展開では、変数は解析時ではなく実行時に展開されます。
  • /fの場合- 別のコマンドの結果に対してコマンドをループします。
  • セット- CMD 環境変数を表示、設定、または削除します。SET で行われた変更は、現在の CMD セッションの期間中のみ保持されます。
  • ローカル設定- バッチ ファイル内の環境変数の可視性を制御するオプションを設定します。

答え2

私が使う無料のCommander XEこれには、パターンを使用して多数のファイルの名前を変更する前に結果をプレビューできる便利なマルチ名前変更機能があります。

関連情報