プロが教える店舗&オフィスのセキュリティ対策術

ExifToolというjpgファイルのexif情報を取得するソフトを使っているのですが

パス名の中に
「表」「予」「申」「能」「十」「ソ」など
が含まれていると文字化けしてしまい、
実行することができません。

http://www.kent-web.com/pubc/jcode/

検索して調べたところ

1.「表」のようなメタ文字を含む文字には、後にエスケープ記号「\」を付ける。

2.ダブルクオーテーションマーク「"」で囲まずに、シングルクオーテーションマーク「'」を使用する。


という二つの方法があることが分かりました。

それで
"D:\Program Files2\exiftool\exiftool.exe" -DateTimeOriginal "D:\予\定\test.JPG"

のようにして試してみたのですが
うまくいきませんでした。

パス名に禁止文字列を使わない以外に解決策があれば教えてください。

A 回答 (2件)

バッチファイルで処理されてはいかがでしょうか。



メモ帳を起動し、
以下の文章をコピー&ペーストし、
ExifToolの実行ファイルと同じフォルダ内に、
「ExifTool.bat」等の名前で保存して下さい。

↓↓↓ ここから ↓↓↓

@echo off

rem -------------------------------

rem "■ ドロップされたものによる分岐 ■"
set DROP=%~a1
if "%DROP:~0,1%"=="d" goto フォルダがドロップされた場合の処理
if "%DROP:~0,1%"=="-" goto ファイルがドロップされた場合の処理
if "%~1"=="" exit

rem -------------------------------

:ファイルがドロップされた場合の処理

rem "■ TEMPフォルダに移動する ■"
pushd "%TEMP%"

rem "■ 対象ファイルをコピーする ■"
copy /b "%~1" "ExifTool.temp"

rem "■ ExifToolで対象ファイルのコピーを開いて結果出力 ■"
"%~dp0exiftool.exe" -DateTimeOriginal "ExifTool.temp" > "%TEMP%\ExifTool結果.txt"

rem "■ ExifToolの結果を表示 ■"
start "" "%TEMP%\ExifTool結果.txt"

rem "■ 一時ファイルを削除する ■"
del /q "ExifTool.temp"

rem "■ 終了 ■"
exit

rem -------------------------------

:フォルダがドロップされた場合の処理

rem "■ 対象フォルダに移動する ■"
pushd "%~dpn1\"

rem "■ ExifToolで対象フォルダ内のファイルを開いて結果出力 ■"
"%~dp0exiftool.exe" -DateTimeOriginal "*.*" > "%TEMP%\ExifTool結果.txt"

rem "■ ExifToolの結果を表示 ■"
start "" "%TEMP%\ExifTool結果.txt"

rem -------------------------------

↑↑↑ ここまで ↑↑↑

あとは、「ExifTool.bat」に対して、
画像ファイルや、フォルダをドラッグ&ドロップすると使えると思います。

ExifToolを実行する構文を変えたい場合は、「"%~dp0exiftool.exe"」から始まる行を書き換えて下さい。

用途が複数ある場合は、その用途の数だけこのバッチファイルをコピーして、分かりやすい名前を付けて使うと良いかと思います。
    • good
    • 0

メタ文字を含む2バイト文字のフォルダに対してショートカットを作り、そのショートカットの名前を変える。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!