Hopefully "ScriptingTipsAndTricks" helps you with your batch file or vbscript scripting :-)
[Bottom][Contents][Prev]: Trim() - Leading+Trailing Whitespace[Next]: WaitForTime() - delay until a chosen time
\->Batch Files->Unknown Number of Parameters - uses the shift command

[anchor]

The Code for: "Unknown Number of Parameters [uses the shift command].cmd"

This is the example, a shortcut was installed to this code :

@echo off
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:: $Header:   C:/DBAREIS/Projects.PVCS/Win32/ScriptingTipsAndTricks/EXAMPLE[cmd].Unknown Number of Parameters [uses the shift command].cmd.pvcs   1.0   11 Jul 2014 19:31:02   USER "Dennis"  $
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
setlocal

call :TestShiftCommand "P1" "P2" "P3" "P4" "P5" "P6" "P7" "P8" "P9" "P10" "P11" "P12" "P13" "P14" "P15" "P16" "P17"

goto :EOF

::+++++++++++++++++++++++
:TestShiftCommand
::+++++++++++++++++++++++
     ::--- Get first 2 parameters -------------------------------------------
     echo PARM  1 = %~1
     echo PARM  2 = %~2
     echo.

     ::--- Process all others if they exist ---------------------------------
     set ParmNumber=2
     :ShiftLoop
         SHIFT /2
         set ThisOne=%~2
         if not DEFINED ThisOne goto Finished
            set /a ParmNumber=ParmNumber + 1
            echo PARM #%ParmNumber% = %ThisOne%
     goto ShiftLoop
     :Finished
     echo.
     echo We were passed %ParmNumber% parameters in total
     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 :-)


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: Trim() - Leading+Trailing Whitespace[Next]: WaitForTime() - delay until a chosen time


ScriptingTipsAndTricks© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Sunday September 07 2014 at 12:50pm
Visit ScriptingTipsAndTricks's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.