I have scripted CvtLFNSFN.bat to convert a LFN (Long File Name)
to a SFN (Short File Name).
NOTE: LFN refers to the file name and extension, NOT to the folder path.
The syntax for using CvtLFNSFN.bat is:
CvtLFNSFN LFN SFN
Where LFN can be the LFN or the FQFN (Fully Qualified File Name), and SFN is a call directed environment variable that will contain the SFN.
NOTE: Neither the LFN nor the FQFN has to exist.
CvtLFNSFN.bat contains:
@echo off if \{%2\}==\{\} @echo Syntax: CvtLFNSFN LFN SFN&goto :EOF setlocal set file=%~nx1 @echo.>"%TEMP%\%file%" :loop for /f "Tokens=1* Delims=\" %%a in ('dir "%TEMP%\%file%" /X^|find "%file%"') do ( set line=%%a ) del /q "%TEMP%\%file%" for /f "Tokens=1*" %%a in ('@echo %line:~36%') do ( set sfm=%%a ) endlocal&set %2=%sfm%
0 comments
Hide comments