| The Code for: "ReplaceAsterisks() [The asterisk (star) character has special meaning in batch file substitution].cmd" |
This is the example, a shortcut was installed to this code :
@echo off ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :: $Header: C:/DBAREIS/Projects.PVCS/Win32/ScriptingTipsAndTricks/EXAMPLE[cmd].ReplaceAsterisks() [The asterisk (star) character has special meaning in batch file substitution].cmd.pvcs 1.0 29 Jun 2014 1$ ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ::--- http://stackoverflow.com/questions/7022640/string-substitution-asterisks-in-batch-files --- setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION set string="**hello * World**" set string=**hello * World** call :ReplaceAsterisks "string" "#" echo string=%string% goto :EOF ::++++++++++++++++++++++++++++++++++++++ :ReplaceAsterisks ::++++++++++++++[v14.122 ]++++++++++++++ set StarEV=%~1 set AsteriskReplacement=%~2 set ValueOrg=!%StarEV%! set ValueNew= for /l %%a in (0 1 0xFF) do ( if !ValueOrg:~%%a^,1!. neq *. ( set "ValueNew=!ValueNew!!ValueOrg:~%%a,1!" ) else if !ValueOrg:~%%a^,1!. neq . ( set ValueNew=!ValueNew!%AsteriskReplacement%) ) set %StarEV%=!ValueNew! goto :EOF
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 :-)
![]() | ![]() |