« Windows XPでも「パスとしてコピー」(その2) | トップページ | バッチファイルで、長いファイル名から短いファイル名に変換する。 »

2008年12月16日 (火)

バッチファイルで、短いファイル名から長いファイル名に変換する。

GetLongFileName.CMD 短いファイル/パス名

@ECHO OFF
SETLOCAL
IF NOT EXIST "%~1" (
ECHO ファイルが見つかりません - %1
GOTO :EOF
)
CALL :GetLongFileName %1
ECHO %LFN%
GOTO :EOF
:GetLongFileName
IF "%~p1"=="\" (SET LFN=%~d1) ELSE CALL :GetLongFileName "%~dp1."
FOR /F "delims=" %%1 IN ('ATTRIB "%LFN%\%~nx1"') DO SET LFN=%%1
SET LFN=%LFN:~11%

« Windows XPでも「パスとしてコピー」(その2) | トップページ | バッチファイルで、長いファイル名から短いファイル名に変換する。 »