2017-02-14 89 views
0

私はここにこれまでの問題を見てきましたが、私は手元の特定のケースを求めています。重複したファイル名が存在するか、ファイルが見つかりません

現在、一部のファイルの名前を変更しようとしていますが、重複した名前のファイルを上書きする必要があります。

EDIT:推奨例として、これは実際ではありませんが、単純に入れておきます(これは「単純に」ではなくpftです)。

私は2つのファイル、1つはTimeGoog.pdf、もう1つはGoog.pdfです。今、これらの2つのファイルのバリエーションが多数のフォルダにあるので、TimeToot.pdfとToot.pdfがあります。すべてのTimeGoog.pdfの名前をGoog.pdfに変更して、古いGoog.pdfを上書きしたのと同時に削除します。

上記のスクリプトは、既にそこにある名前に変更されていることを除いて、実行しません。上記のバッチコードは親フォルダで動作し、すべてのサブフォルダが有効になることに注意してください。

+1

あなたは 'move'コマンドを使用しようとしましたか? –

+0

@MCNDいいえ、私はしていません。ここに本当になるためには、私のバッチに関する知識はゴミです。私が言うことができるのは、私が持っている現在のファイルは、私が上書きしようとしている前のファイルだけでなく、必要なフォルダにすでに入っているということです。 –

+0

重複する名前は何ですか?彼らはどんな見た目ですか?あなたの投稿の例が役立つかもしれません。 –

答えて

1
@echo off 
    setlocal enableextensions disabledelayedexpansion 

    for /r %%A in ("tgt*.nif") do (
     set "folder=%%~dpA" 
     set "fileName=%%~nxA" 
     setlocal enabledelayedexpansion 
      echo move /y "!folder!!fileName!" "!folder!!fileName:*tgt=!" 
     endlocal 
    ) 
    pause 
関連する問題