1

After Effectsのバグが原因で、次のような名前の4つの数字が付いたシングルフレーム出力が得られます。

Test.jpg0001
Another.jpg0345
AndAnother.jpg0033

ファイルが.jpgで終わっていない場合に、最後の4文字を削除するためにWindowsフォルダーで実行するために作成できるバッチスクリプトはありますか?そのため、新しいファイルを追加するときにスクリプトの実行を続行できますが、すでに修正されているファイルには影響しません。

4

2 に答える 2

1

これは、JPGで始まるすべての拡張子を検索し、3文字を超える場合は、ファイルの名前をjpgのみで終わるように変更するVBスクリプトです。いくつかのファイルで行ったようにテストディレクトリを作成して試してみてください。コード内にハードコードされたディレクトリがあり、実行する前に変更する必要があります(ディレクトリがc:\ testdatと呼ばれている場合を除く)。フォルダ名をスラッシュで終了することに注意してください(遅延プログラミング):

   set fs = createobject("Scripting.Filesystemobject")

   dirWithFiles = "C:\TestDat\"   ' End with a slash

   set folder = fs.getfolder(dirWithFiles)

   set filescollection = folder.files
   for each file in filescollection
      oldname = dirWithFiles & file.name
      basename = fs.getbasename(file.name)
      extension = fs.getExtensionName(file.name)


      if ucase(mid(extension,1,3)) = "JPG" then
         if len(extension) > 3 then
            newname = dirWithFiles & basename & ".jpg"

            'msgbox "Rename " & oldname  & " to " & newname
            fs.movefile oldname,newname
         end if
      end if
   next

これを.vbsで終わるファイル(私はjpgrename.vbsと呼びます)にコピーし、c:\ testdat \ディレクトリ名を変更して、デスクトップに配置します。(Windowsの下で)それをダブルクリックすると、実行されます。前後の画像は次のとおりです。

ここに画像の説明を入力してください

于 2013-02-19T21:31:18.167 に答える
1

私の良さ、どんな種類のスクリプトも必要ありません。必要なのは、単純な名前変更コマンドだけです。

これにより、.jpgを含むすべてのファイル名の拡張子がに設定されます.jpg

ren *.jpg* *.jpg

上記は、のような名前を不適切に変更するという点で完全ではありませtest.jpg.txttest.jpg.jpg。また、test2.jpgXYZ(に続く数字以外の.jpg)のようなファイルの名前をに変更しますtest2.jpg。これらの制限は問題にならないのではないかと思います。

より選択的になり、拡張子がで始まるファイルの名前のみを変更したい場合.jpg(名前に他の拡張子が続くファイルは無視します.jpg)、FINDSTR正規表現を使用してファイルをフィルタリングできます。

for /f "eol=: delims=" %F in ('dir /b *.jpg*^|findstr /re "\.jpg[^.][^.]*"') do ren "%F" *.jpg

さらに選択性を高め、末尾が.jpg1桁以上のファイルの名前のみを変更する場合は、次のようにします。

for /f "eol=: delims=" %F in ('dir /b *.jpg*^|findstr /re "\.jpg[0-9][0-9]*"') do ren "%F" *.jpg

バッチファイルでいずれかのFOR/Fステートメントを使用する場合は、(%%Fの代わりに%F)パーセントを2倍にする必要があります。

于 2013-02-20T01:28:33.170 に答える