8.3 Filename from Long Name [gets legacy 8.3 formatted filename].cmd |
This is an example of Parameter Replacement.
The Code for: "8.3 Filename from Long Name [gets legacy 8.3 formatted filename].cmd" |
This is the example, a shortcut was installed to this code :
@echo off ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :: $Header: C:/DBAREIS/Projects.PVCS/Win32/ScriptingTipsAndTricks/EXAMPLE[cmd].8.3 Filename from Long Name [gets legacy 8.3 formatted filename].cmd.pvcs 1.0 11 Jul 2014 19:31:00 USER "Dennis" $ ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ setlocal ::--- 8.3 formatted file information WILL NOT BE RETURNED if the file does not exist! --- set LongFileName=%TEMP%\TheFileMustExistToGet3Name.LongExtension echo Create the file > "%LongFileName%" ::--- Get the 8.3 formatted filenames --- for %%X in ("%LongFileName%") do set Full83FileName=%%~fsX for %%X in ("%LongFileName%") do set Short83FileName=%%~snxX ::--- Display the "long" and "8.3" filenames --- echo %LongFileName% echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo Full 8.3 Name : "%Full83FileName%" echo No Path Extension : "%Short83FileName%"
Please note that that I am not trying to show how great I am by producing batch files 9,000 characters long on one line that no one will understand or be able to debug when they go wrong. I am going out of my way to comment the code and make it verbose so beginners and advanced users will both benefit. I don't claim to be an expert that knows everything, if I'm wrong or make a mistake then please contact me and let me know :-)