GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /nginx/html/JimMartinson/_Archive/CST1861/dostips.com/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html lang="en-US"><head><link media="all" href="DOS%20Batch%20-%20Menus_files/widget64.css" type="text/css" rel="stylesheet"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta content="TRUE" name="MSSmartTagsPreventParsing"> <meta http-equiv="expires" content="-1"> <meta http-equiv="pragma" content="no-cache"> <meta content="all" name="robots"> <meta name="keywords" content="dos,functions,vista,xp,command line,batch,examples,substring,variables,copies,date"> <link rel="Stylesheet" type="text/css" media="all" href="DOS%20Batch%20-%20Menus_files/_style.css"> <link rel="shortcut icon" href="http://www.dostips.com/favicon.ico"> <link rel="icon" href="http://www.dostips.com/animated_favicon1.gif" type="image/gif"> <title>DOS Batch - Menus</title> </head> <body><div id="_atssh" style="visibility: hidden; height: 1px; width: 1px; position: absolute; z-index: 100000;"><iframe src="DOS%20Batch%20-%20Menus_files/sh49.htm" style="height: 1px; width: 1px; position: absolute; z-index: 100000; border: 0pt none; left: 0pt; top: 0pt;" title="AddThis utility frame" id="_atssh555"></iframe></div> <div class="nav"> <!-- AddThis Button BEGIN --> <div class="addthis_toolbox addthis_default_style"> <a href="#" title="Send to Facebook" class="addthis_button_facebook at300b"><span class="at300bs at15nc at15t_facebook"></span></a> <a href="#" title="Email" class="addthis_button_email at300b"><span class="at300bs at15nc at15t_email"></span></a> <a href="#" title="Save to Favorites" class="addthis_button_favorites at300b"><span class="at300bs at15nc at15t_favorites"></span></a> <a href="#" title="Print" class="addthis_button_print at300b"><span class="at300bs at15nc at15t_print"></span></a> <span class="addthis_separator">|</span> <a title="View more services" href="http://www.addthis.com/bookmark.php?v=250&username=cmdtips" class="addthis_button_expanded at300m"><span class="at300bs at15nc at15t_expanded"></span>More</a> <div class="atclear"></div></div> <script type="text/javascript" src="DOS%20Batch%20-%20Menus_files/addthis_widget.js"></script> <!-- AddThis Button END --> <br> <div class="navi"> <a href="http://www.dostips.com/"><img src="DOS%20Batch%20-%20Menus_files/TitleDostips.JPG" alt="DosTips.com" height="80"></a> <br><span style="font-size: 9px; font-weight: bold;">for Windows7,VISTA,XP,NT,Server 2000,</span> <br><span style="font-size: 9px; font-weight: bold;">Server 2003,Server 2008</span> <br> <br> <!-- SiteSearch Google --> <form style="margin: 5" method="get" action="http://www.dostips.com/DtGeneSearch.php" target="_top"> <span style="font-size: 11px;">Search:</span> <input name="domains" value="cmdtips.com" type="hidden"> <input name="q" size="12" maxlength="255" value="Google" onclick="this.value=''" type="text"> <input name="sitesearch" value="www.dostips.com" type="hidden"> <input name="sa" src="DOS%20Batch%20-%20Menus_files/search.gif" value="Search" alt="Search" style="width: 20px; height: 20px; vertical-align: middle; border: medium none;" type="image"> <input name="client" value="pub-4331089886589220" type="hidden"> <input name="forid" value="1" type="hidden"> <input name="ie" value="ISO-8859-1" type="hidden"> <input name="channel" value="0649133363" type="hidden"> <input name="oe" value="ISO-8859-1" type="hidden"> <input name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:11" type="hidden"> <input name="hl" value="en" type="hidden"> </form> <!-- SiteSearch Google --> <br> <ul> <li class="nsel"><a href="http://www.dostips.com/">Home</a> <ul> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a>Source Script</a> <ul> <li class="nsel"><a href="http://www.dostips.com/DtCodeBatchFiles.php">Batch Files</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtCodeFunctions.php">Functions</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtCodeCmdLib.php">Function Library</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtCodeSnippets.php">Script Snippets</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtCodeInterfacing.php">Interfacing</a> </li> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a>Tips and Tricks</a> <ul> <li class="nsel"><a href="http://www.dostips.com/DtTipsXCopy.php">Copy Tips</a> </li> <li class="ysel"><a href="http://www.dostips.com/DtTipsMenu.php">Menu in Batch</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTipsStringManipulation.php">String Manipulation</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTipsStringOperations.php">String Operations</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTipsDateTime.php">Date and Time</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTipsArithmetic.php">Arithmetic</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTipsFtpBatchScript.php">FTP Batch Script</a> </li> <li class="nsel"><a href="http://www.dostips.com/DosCommandIndex.php">Command Index</a> </li> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a>Tutorials</a> <ul> <li class="nsel"><a href="http://www.dostips.com/DtTutoFirstBatch.php">My First Batch</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTutoFramework.php">Solid Framwork</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTutoFunctions.php">Functions</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtTutoPersistency.php">Persistency</a> </li> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a href="http://www.dostips.com/forum/viewforum.php?f=3">Forum</a> <ul> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a href="http://www.dostips.com/DtGeneGeneral.php">General</a> <ul> <li class="nsel"><a href="http://www.dostips.com/DtGeneTermsOfUse.php">Terms of Use</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtGeneEnabler.php">Enablers</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtGeneAboutUs.php">About Us</a> </li> <li class="nsel"><a href="http://www.dostips.com/DtGeneContact.php">Contact Us</a> </li> <li class="nsel"> </li> </ul> </li> <li class="nsel"><a>Other</a> <ul> <li class="nsel"><a href="http://www.dot5hosting.com/join/index.bml?AffID=570595&LinkName=dot5txt">Get Web Hosting</a> </li> <li class="nsel"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9018663"><marquee scrollamount="2" width="120">Want donate a cup of Cafe? . click . </marquee></a> </li> <li class="nsel"> </li> </ul> </li> </ul> </div> </div> <h1>DOS Batch - Menus</h1> <span class="shortText">Need a menu? See which of these menu frameworks fits your needs.</span><br><br> <table class="posts"> </table> <br><table class="menu" cellpadding="0" cellspacing="0"> <tbody><tr><td colspan="2"> </td></tr> <tr><td class="title"><a href="#Batch.Menu">DOS Batch - Simple Menu</a></td> <td class="text">Simple menu framework. Plug in a new menu item and coresponding script as single function block.</td> </tr> <tr><td class="title"><a href="#Batch.Menu2">DOS Batch - Advanced Menu</a></td> <td class="text">Toggle menu options, persist settings for the next run.</td> </tr> <tr><td class="title"><a href="http://www.dostips.com/DtTipsMenu.php">DOS Batch - Menus</a></td> <td class="text">Need a menu? See which of these menu frameworks fits your needs.</td> </tr> </tbody></table> <hr> <a name=""></a> <a name="Batch.Menu"></a> <div style="float: right;"><font color="darkblue"><a href="#">TOP</a><br><font size="1">2008-01-01</font></font></div> <h2>DOS Batch - Simple Menu - Simple menu framework. Plug in a new menu item and coresponding script as single function block</h2> <table class="posts"> <tbody><tr> <td class="title" valign="top">Description:</td> <td class="text" valign="top"><p>This simple <b>menu framework</b> parses itself for batch labels of certain signature and lists them as menu items. The self-parsing feature makes the menu generic. New menu items can be inserted by adding new function blocks without changing the menu infrastructure. </p> Features: <ul> <li>simple and well structured</li> <li>easy to enhance</li> <li>easy to maintain</li> </ul></td> </tr> <tr> <td class="title" valign="top">Script:</td> <td class="text" valign="top"><span style="float:right;">Download: <a href="http://www.dostips.com/BatchMenu.bat">BatchMenu.bat</a> </span> <table class="btchscr"><tbody><tr> <td class="numbrs" align="right" nowrap="nowrap"><code><a name="1">1.</a><br><a name="2">2.</a><br><a name="3">3.</a><br><a name="4">4.</a><br><a name="5">5.</a><br><a name="6">6.</a><br><a name="7">7.</a><br><a name="8">8.</a><br><a name="9">9.</a><br><a name="10">10.</a><br><a name="11">11.</a><br><a name="12">12.</a><br><a name="13">13.</a><br><a name="14">14.</a><br><a name="15">15.</a><br><a name="16">16.</a><br><a name="17">17.</a><br><a name="18">18.</a><br><a name="19">19.</a><br><a name="20">20.</a><br><a name="21">21.</a><br><a name="22">22.</a><br><a name="23">23.</a><br><a name="24">24.</a><br><a name="25">25.</a><br><a name="26">26.</a><br><a name="27">27.</a><br><a name="28">28.</a><br><a name="29">29.</a><br><a name="30">30.</a><br><a name="31">31.</a><br><a name="32">32.</a><br><a name="33">33.</a><br><a name="34">34.</a><br><a name="35">35.</a><br><a name="36">36.</a><br></code></td> <td class="code" nowrap="nowrap"><code><span style="color=#000000">@ECHO OFF</span><br> <span style="color=#000000"><span class="c_cmmt">REM.-- Prepare the Command Processor</span></span><br> <span style="color=#000000">SETLOCAL ENABLEEXTENSIONS</span><br> <span style="color=#000000">SETLOCAL ENABLEDELAYEDEXPANSION</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menuLOOP">:menuLOOP</a></span><span class="c_cmmt"></span></span><br> <span style="color=#000000">echo.</span><br> <span style="color=#000000">echo.= Menu =================================================</span><br> <span style="color=#000000">echo.</span><br> <span style="color=#000000">for /f "tokens=1,2,* delims=_ " <span class="c_pvar">%%A</span> in ('"findstr /b /c:":menu_" "<span class="c_pvar">%~f0</span>""') do echo. <span class="c_pvar">%%B</span> <span class="c_pvar">%%C</span></span><br> <span style="color=#000000">set choice=</span><br> <span style="color=#000000">echo.&set /p choice=Make a choice or hit ENTER to quit: ||GOTO:EOF</span><br> <span style="color=#000000">echo.&call:menu_%choice%</span><br> <span style="color=#000000">GOTO:menuLOOP</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: menu functions follow below here</span></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_1">:menu_1</a></span><span class="c_cmmt"> Have some fun</span></span><br> <span style="color=#000000">echo.Have some fun by adding some more code right here</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_2">:menu_2</a></span><span class="c_cmmt"> Get a water</span></span><br> <span style="color=#000000">echo.Get a water and then add some code right here</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_">:menu_</a></span><span class="c_cmmt"></span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_T">:menu_T</a></span><span class="c_cmmt"> Tip</span></span><br> <span style="color=#000000">echo.It's easy to add a line separator using one or more fake labels</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_C">:menu_C</a></span><span class="c_cmmt"> Clear Screen</span></span><br> <span style="color=#000000">cls</span><br> <span style="color=#000000">GOTO:EOF</span><br> </code></td> </tr></tbody></table> </td> </tr> <tr> <td class="title" valign="top">Script Output:</td> <td class="text" valign="top"><table class="dosw" border="0" cellpadding="3" cellspacing="2"> <tbody><tr><td class="title"> <img src="DOS%20Batch%20-%20Menus_files/SysIcon.JPG" alt="DOS"> Script Ouput </td></tr> <tr><td class="text"><pre>= Menu ================================================= 1 Have some fun 2 Get a water T Tip C Clear Screen Make a choice or hit ENTER to quit: </pre></td></tr></tbody></table></td> </tr> </tbody></table> <hr> <a name=""></a> <a name="Batch.Menu2"></a> <div style="float: right;"><font color="darkblue"><a href="#">TOP</a><br><font size="1">2008-01-01</font></font></div> <h2>DOS Batch - Advanced Menu - Toggle menu options, persist settings for the next run</h2> <table class="posts"> <tbody><tr> <td class="title" valign="top">Description:</td> <td class="text" valign="top">Example - Installation Framework. <p>This example shows how to enhance a program with persistent settings that can be changed using a menu.</p> <p>I.e.: </p><ul> <li>Choose 1 to change the 'Install version' from 'Client' to 'Server'.</li> <li>Choose 1 again to change the 'Install version' back to 'Client'.</li> <li>Choose 2 to change the 'Size of installation' from Full to 'Regular'.</li> <li>Choose 2 again to change the 'Size of installation' to 'Mini'.</li> <li>Choose 2 again to change the 'Size of installation' back to 'Full'.</li> <li>Choose I to begin the installation. Note: this example is just a simulation and will not install anything on your PC.</li> </ul> <p></p> Features: <ul> <li>simple and well structured</li> <li>settings changeable at runtime</li> <li><b>settings are persistent</b>, the batch will remember all settings from the last run</li> <li><b>progress indication</b> during simulated file installation</li> </ul></td> </tr> <tr> <td class="title" valign="top">Script:</td> <td class="text" valign="top"><span style="float:right;">Download: <a href="http://www.dostips.com/BatchInstall.bat">BatchInstall.bat</a> </span> <table class="btchscr"><tbody><tr> <td class="numbrs" align="right" nowrap="nowrap"><code><a name="1">1.</a><br><a name="2">2.</a><br><a name="3">3.</a><br><a name="4">4.</a><br><a name="5">5.</a><br><a name="6">6.</a><br><a name="7">7.</a><br><a name="8">8.</a><br><a name="9">9.</a><br><a name="10">10.</a><br><a name="11">11.</a><br><a name="12">12.</a><br><a name="13">13.</a><br><a name="14">14.</a><br><a name="15">15.</a><br><a name="16">16.</a><br><a name="17">17.</a><br><a name="18">18.</a><br><a name="19">19.</a><br><a name="20">20.</a><br><a name="21">21.</a><br><a name="22">22.</a><br><a name="23">23.</a><br><a name="24">24.</a><br><a name="25">25.</a><br><a name="26">26.</a><br><a name="27">27.</a><br><a name="28">28.</a><br><a name="29">29.</a><br><a name="30">30.</a><br><a name="31">31.</a><br><a name="32">32.</a><br><a name="33">33.</a><br><a name="34">34.</a><br><a name="35">35.</a><br><a name="36">36.</a><br><a name="37">37.</a><br><a name="38">38.</a><br><a name="39">39.</a><br><a name="40">40.</a><br><a name="41">41.</a><br><a name="42">42.</a><br><a name="43">43.</a><br><a name="44">44.</a><br><a name="45">45.</a><br><a name="46">46.</a><br><a name="47">47.</a><br><a name="48">48.</a><br><a name="49">49.</a><br><a name="50">50.</a><br><a name="51">51.</a><br><a name="52">52.</a><br><a name="53">53.</a><br><a name="54">54.</a><br><a name="55">55.</a><br><a name="56">56.</a><br><a name="57">57.</a><br><a name="58">58.</a><br><a name="59">59.</a><br><a name="60">60.</a><br><a name="61">61.</a><br><a name="62">62.</a><br><a name="63">63.</a><br><a name="64">64.</a><br><a name="65">65.</a><br><a name="66">66.</a><br><a name="67">67.</a><br><a name="68">68.</a><br><a name="69">69.</a><br><a name="70">70.</a><br><a name="71">71.</a><br><a name="72">72.</a><br><a name="73">73.</a><br><a name="74">74.</a><br><a name="75">75.</a><br><a name="76">76.</a><br><a name="77">77.</a><br><a name="78">78.</a><br><a name="79">79.</a><br><a name="80">80.</a><br><a name="81">81.</a><br><a name="82">82.</a><br><a name="83">83.</a><br><a name="84">84.</a><br><a name="85">85.</a><br><a name="86">86.</a><br><a name="87">87.</a><br><a name="88">88.</a><br><a name="89">89.</a><br><a name="90">90.</a><br><a name="91">91.</a><br><a name="92">92.</a><br><a name="93">93.</a><br><a name="94">94.</a><br><a name="95">95.</a><br><a name="96">96.</a><br><a name="97">97.</a><br><a name="98">98.</a><br><a name="99">99.</a><br><a name="100">100.</a><br><a name="101">101.</a><br><a name="102">102.</a><br><a name="103">103.</a><br><a name="104">104.</a><br><a name="105">105.</a><br><a name="106">106.</a><br><a name="107">107.</a><br><a name="108">108.</a><br><a name="109">109.</a><br><a name="110">110.</a><br><a name="111">111.</a><br><a name="112">112.</a><br><a name="113">113.</a><br><a name="114">114.</a><br><a name="115">115.</a><br><a name="116">116.</a><br><a name="117">117.</a><br><a name="118">118.</a><br><a name="119">119.</a><br><a name="120">120.</a><br><a name="121">121.</a><br><a name="122">122.</a><br><a name="123">123.</a><br><a name="124">124.</a><br><a name="125">125.</a><br><a name="126">126.</a><br><a name="127">127.</a><br><a name="128">128.</a><br><a name="129">129.</a><br><a name="130">130.</a><br><a name="131">131.</a><br><a name="132">132.</a><br><a name="133">133.</a><br><a name="134">134.</a><br><a name="135">135.</a><br><a name="136">136.</a><br><a name="137">137.</a><br><a name="138">138.</a><br><a name="139">139.</a><br><a name="140">140.</a><br><a name="141">141.</a><br><a name="142">142.</a><br><a name="143">143.</a><br><a name="144">144.</a><br><a name="145">145.</a><br><a name="146">146.</a><br><a name="147">147.</a><br><a name="148">148.</a><br><a name="149">149.</a><br><a name="150">150.</a><br><a name="151">151.</a><br><a name="152">152.</a><br><a name="153">153.</a><br><a name="154">154.</a><br><a name="155">155.</a><br><a name="156">156.</a><br><a name="157">157.</a><br><a name="158">158.</a><br><a name="159">159.</a><br><a name="160">160.</a><br><a name="161">161.</a><br><a name="162">162.</a><br><a name="163">163.</a><br><a name="164">164.</a><br><a name="165">165.</a><br><a name="166">166.</a><br><a name="167">167.</a><br><a name="168">168.</a><br><a name="169">169.</a><br><a name="170">170.</a><br><a name="171">171.</a><br><a name="172">172.</a><br><a name="173">173.</a><br><a name="174">174.</a><br></code></td> <td class="code" nowrap="nowrap"><code><span style="color=#000000">@ECHO OFF</span><br> <span style="color=#000000"><span class="c_cmmt">REM.-- Prepare the Command Processor</span></span><br> <span style="color=#000000">SETLOCAL ENABLEEXTENSIONS</span><br> <span style="color=#000000">SETLOCAL ENABLEDELAYEDEXPANSION</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">REM.-- Version History --</span></span><br> <span style="color=#000000"><span class="c_cmmt">REM XX.XXX YYYYMMDD Author Description</span></span><br> <span style="color=#000000">SET version=01.000-beta &<span class="c_cmmt">rem 20051201 p.h. initial version, providing the framework</span></span><br> <span style="color=#000000"><span class="c_cmmt">REM !! For a new version entry, copy the last entry down and modify Date, Author and Description</span></span><br> <span style="color=#000000">SET version=%version: =%</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">REM.-- Set the window title</span></span><br> <span style="color=#000000">SET title=<span class="c_pvar">%~n0</span></span><br> <span style="color=#000000">TITLE %title%</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">REM.--initialize the variables</span></span><br> <span style="color=#000000">set FilePersist=<span class="c_pvar">%~dpn0</span>+.cmd& <span class="c_cmmt">rem --define the filename where persistent variables get stored</span></span><br> <span style="color=#000000">set SvrCli_choice=,Server,Client,</span><br> <span style="color=#000000">call:setPersist SvrCli=Server</span><br> <span style="color=#000000">set bShowReadMe_choice=,Yes,No,</span><br> <span style="color=#000000">call:setPersist bShowReadMe=No</span><br> <span style="color=#000000">set InstSize_choice=,Full,Regular,Mini,</span><br> <span style="color=#000000">call:setPersist InstSize=Full</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">rem.--read the persistent variables from the storage</span></span><br> <span style="color=#000000">call:restorePersistentVars "%FilePersist%"</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menuLOOP">:menuLOOP</a></span><span class="c_cmmt"></span></span><br> <span style="color=#000000">echo.</span><br> <span style="color=#000000">echo.= Menu =================================================</span><br> <span style="color=#000000">echo.</span><br> <span style="color=#000000">for /f "tokens=1,2,* delims=_ " <span class="c_pvar">%%A</span> in ('"findstr /b /c:":menu_" "<span class="c_pvar">%~f0</span>""') do echo. <span class="c_pvar">%%B</span> <span class="c_pvar">%%C</span></span><br> <span style="color=#000000">set choice=</span><br> <span style="color=#000000">echo.&set /p choice=Make a choice or hit ENTER to quit: ||(</span><br> <span style="color=#000000"> call:savePersistentVars "%FilePersist%"& <span class="c_cmmt">rem --save the persistent variables to the storage</span></span><br> <span style="color=#000000"> GOTO:EOF</span><br> <span style="color=#000000">)</span><br> <span style="color=#000000">echo.&call:menu_%choice%</span><br> <span style="color=#000000">GOTO:menuLOOP</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: menu functions follow below here</span></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_Options">:menu_Options</a></span><span class="c_cmmt">:</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_1">:menu_1</a></span><span class="c_cmmt"> Install version : '!SvrCli!' [!SvrCli_choice:~1,-1!]</span></span><br> <span style="color=#000000">call:getNextInList SvrCli "!SvrCli_choice!"</span><br> <span style="color=#000000">cls</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_2">:menu_2</a></span><span class="c_cmmt"> Size of installation : '!InstSize!' [!InstSize_choice:~1,-1!]</span></span><br> <span style="color=#000000">call:getNextInList InstSize "!InstSize_choice!"</span><br> <span style="color=#000000">cls</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_3">:menu_3</a></span><span class="c_cmmt"> Show Readme.txt when finished: '!bShowReadMe!' [!bShowReadMe_choice:~1,-1!]</span></span><br> <span style="color=#000000">call:getNextInList bShowReadMe "!bShowReadMe_choice!"</span><br> <span style="color=#000000">cls</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_">:menu_</a></span><span class="c_cmmt"></span></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_Execute">:menu_Execute</a></span><span class="c_cmmt">:</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_I">:menu_I</a></span><span class="c_cmmt"> Start Installation (simulation only)</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000">set maxcnt=20</span><br> <span style="color=#000000">if /i "%InstSize:~0,1%"=="F" set maxcnt=11</span><br> <span style="color=#000000">if /i "%InstSize:~0,1%"=="R" set maxcnt=7</span><br> <span style="color=#000000">if /i "%InstSize:~0,1%"=="M" set maxcnt=3</span><br> <span style="color=#000000"></span><br> <span style="color=#000000">echo.Simulating an installation for !maxcnt! files...</span><br> <span style="color=#000000">call:initProgress maxcnt</span><br> <span style="color=#000000">for /l <span class="c_pvar">%%C</span> in (1,1,!maxcnt!) do (</span><br> <span style="color=#000000"> echo.Pretend to install !SvrCli! file <span class="c_pvar">%%C</span>.</span><br> <span style="color=#000000"> call:sleep 1</span><br> <span style="color=#000000"> call:doProgress</span><br> <span style="color=#000000">)</span><br> <span style="color=#000000">call:sleep 1</span><br> <span style="color=#000000">TITLE %title%</span><br> <span style="color=#000000">if /i "%bShowReadMe:~0,1%"=="Y" notepad ReadMe.txt</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="menu_C">:menu_C</a></span><span class="c_cmmt"> Clear Screen</span></span><br> <span style="color=#000000">cls</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: helper functions follow below here</span></span><br> <span style="color=#000000"><span class="c_cmmt">::-----------------------------------------------------------</span></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="setPersist">:setPersist</a></span><span class="c_cmmt"> -- to be called to initialize persistent variables</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- %*: set command arguments</span></span><br> <span style="color=#000000">set %*</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="getPersistentVars">:getPersistentVars</a></span><span class="c_cmmt"> -- returns a comma separated list of persistent variables</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span>: reference to return variable</span></span><br> <span style="color=#000000">SETLOCAL</span><br> <span style="color=#000000">set retlist=</span><br> <span style="color=#000000">set parse=findstr /i /c:"call:setPersist" "<span class="c_pvar">%~f0</span>%"^|find /v "ButNotThisLine"</span><br> <span style="color=#000000">for /f "tokens=2 delims== " <span class="c_pvar">%%a</span> in ('"%parse%"') do (set retlist=!retlist!<span class="c_pvar">%%a</span>,)</span><br> <span style="color=#000000">( ENDLOCAL & <span class="c_cmmt">REM RETURN VALUES</span></span><br> <span style="color=#000000"> IF "<span class="c_pvar">%~1</span>" NEQ "" SET <span class="c_pvar">%~1</span>=%retlist%</span><br> <span style="color=#000000">)</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="savePersistentVars">:savePersistentVars</a></span><span class="c_cmmt"> -- Save values of persistent variables into a file</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span>: file name</span></span><br> <span style="color=#000000">SETLOCAL</span><br> <span style="color=#000000">echo.>"<span class="c_pvar">%~1</span>"</span><br> <span style="color=#000000">call :getPersistentVars persvars</span><br> <span style="color=#000000">for <span class="c_pvar">%%a</span> in (%persvars%) do (echo.SET <span class="c_pvar">%%a</span>=!<span class="c_pvar">%%a</span>!>>"<span class="c_pvar">%~1</span>")</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="restorePersistentVars">:restorePersistentVars</a></span><span class="c_cmmt"> -- Restore the values of the persistent variables</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span>: batch file name to restore from</span></span><br> <span style="color=#000000">if exist "%FilePersist%" call "%FilePersist%"</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="getNextInList">:getNextInList</a></span><span class="c_cmmt"> -- return next value in list</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span> - in/out ref to current value, returns new value</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~2</span> - in choice list, must start with delimiter which must not be '@'</span></span><br> <span style="color=#000000">SETLOCAL</span><br> <span style="color=#000000">set lst=<span class="c_pvar">%~2</span>& <span class="c_cmmt">rem.-- get the choice list</span></span><br> <span style="color=#000000">if "%lst:~0,1%" NEQ "%lst:~-1%" echo.ERROR Choice list must start and end with the delimiter&GOTO:EOF</span><br> <span style="color=#000000">set dlm=%lst:~-1%& <span class="c_cmmt">rem.-- extract the delimiter used</span></span><br> <span style="color=#000000">set old=!<span class="c_pvar">%~1</span>!& <span class="c_cmmt">rem.-- get the current value</span></span><br> <span style="color=#000000">set fst=&for /f "delims=%dlm%" <span class="c_pvar">%%a</span> in ("%lst%") do set fst=<span class="c_pvar">%%a</span>&<span class="c_cmmt">rem.--get the first entry</span></span><br> <span style="color=#000000"> <span class="c_cmmt">rem.-- replace the current value with a @, append the first value</span></span><br> <span style="color=#000000">set lll=!lst:%dlm<span class="c_pvar">%%o</span>ld<span class="c_pvar">%%d</span>lm%=%dlm%@%dlm%!%fst<span class="c_pvar">%%d</span>lm%</span><br> <span style="color=#000000"> <span class="c_cmmt">rem.-- get the string after the @</span></span><br> <span style="color=#000000">for /f "tokens=2 delims=@" <span class="c_pvar">%%a</span> in ("%lll%") do set lll=<span class="c_pvar">%%a</span></span><br> <span style="color=#000000"> <span class="c_cmmt">rem.-- extract the next value</span></span><br> <span style="color=#000000">for /f "delims=%dlm%" <span class="c_pvar">%%a</span> in ("%lll%") do set new=<span class="c_pvar">%%a</span></span><br> <span style="color=#000000">( ENDLOCAL & <span class="c_cmmt">REM RETURN VALUES</span></span><br> <span style="color=#000000"> IF "<span class="c_pvar">%~1</span>" NEQ "" (SET <span class="c_pvar">%~1</span>=%new%) ELSE (echo.%new%)</span><br> <span style="color=#000000">)</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="initProgress">:initProgress</a></span><span class="c_cmmt"> -- initialize an internal progress counter and display the progress in percent</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span>: in - progress counter maximum, equal to 100 percent</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~2</span>: in - title string formatter, default is '[P] completed.'</span></span><br> <span style="color=#000000">set /a ProgressCnt=-1</span><br> <span style="color=#000000">set /a ProgressMax=<span class="c_pvar">%~1</span></span><br> <span style="color=#000000">set ProgressFormat=<span class="c_pvar">%~2</span></span><br> <span style="color=#000000">if "%ProgressFormat%"=="" set ProgressFormat=[PPPP]</span><br> <span style="color=#000000">set ProgressFormat=!ProgressFormat:[PPPP]=[P] completed.!</span><br> <span style="color=#000000">call :doProgress</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="doProgress">:doProgress</a></span><span class="c_cmmt"> -- display the next progress tick</span></span><br> <span style="color=#000000">set /a ProgressCnt+=1</span><br> <span style="color=#000000">SETLOCAL</span><br> <span style="color=#000000">set /a per=100*ProgressCnt/ProgressMax</span><br> <span style="color=#000000">set per=!per!%%</span><br> <span style="color=#000000">title %ProgressFormat:[P]=!per!%</span><br> <span style="color=#000000">GOTO:EOF</span><br> <span style="color=#000000"></span><br> <span style="color=#000000"></span><br> <span style="color=#000000"><span class="c_labl"><a name="sleep">:sleep</a></span><span class="c_cmmt"> -– waits some seconds before returning</span></span><br> <span style="color=#000000"><span class="c_cmmt">:: -- <span class="c_pvar">%~1</span> – in, number of seconds to wait</span></span><br> <span style="color=#000000">FOR /l <span class="c_pvar">%%a</span> in (<span class="c_pvar">%~1</span>,-1,1) do (ping -n 2 -w 1 127.0.0.1>NUL)</span><br> <span style="color=#000000">goto :eof</span><br> </code></td> </tr></tbody></table> </td> </tr> <tr> <td class="title" valign="top">Script Output:</td> <td class="text" valign="top"><table class="dosw" border="0" cellpadding="3" cellspacing="2"> <tbody><tr><td class="title"> <img src="DOS%20Batch%20-%20Menus_files/SysIcon.JPG" alt="DOS"> Script Ouput </td></tr> <tr><td class="text"><pre>= Menu ================================================= Options: 1 Install version : 'Client' [Server,Client] 2 Size of installation : 'Full' [Full,Regular,Mini] 3 Show Readme.txt when finished: 'No' [Yes,No] Execute: I Start Installation (simulation only) C Clear Screen Make a choice or hit ENTER to quit: </pre></td></tr></tbody></table></td> </tr> </tbody></table> <br><br> <a href="http://www.amazon.com/gp/product/0735622620?ie=UTF8&tag=dos01-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0735622620"><img src="DOS%20Batch%20-%20Menus_files/51JXrVTAGnL.jpg" border="0"></a><img src="DOS%20Batch%20-%20Menus_files/ir_002.gif" alt="" style="border: medium none ! important; margin: 0px ! important;" height="1" border="0" width="1"> <a href="http://www.amazon.com/gp/product/0735625956/ref=as_li_tf_il?ie=UTF8&tag=dos01-20&linkCode=as2&camp=217145&creative=399353&creativeASIN=0735625956"><img src="DOS%20Batch%20-%20Menus_files/q.jpg" border="0"></a><img src="DOS%20Batch%20-%20Menus_files/ir.gif" alt="" style="border: medium none ! important; margin: 0px ! important;" height="1" border="0" width="1"> <script type="text/javascript"><!-- google_ad_client = "pub-4331089886589220"; /* 468x60, created 12/30/07 */ google_ad_slot = "8403807900"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="DOS%20Batch%20-%20Menus_files/show_ads.js"> </script><ins style="display:inline-table;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><ins id="aswift_0_anchor" style="display:block;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><iframe allowtransparency="true" hspace="0" marginwidth="0" marginheight="0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&&s.log.push(i)}" vspace="0" id="aswift_0" name="aswift_0" style="left: 0pt; position: absolute; top: 0pt;" frameborder="0" height="60" scrolling="no" width="468"></iframe></ins></ins> <div class="bot"> <script type="text/javascript"> /*********************************************** * IFrame SSI script II- Copyright Dynamic Drive DHTML code library (http://www.dynamicdrive.com) * Visit DynamicDrive.com for hundreds of original DHTML scripts * This notice must stay intact for legal use ***********************************************/ //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height: //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none: var iframeids=["myframe"] //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended): var iframehide="yes" var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1] var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers function resizeCaller() { var dyniframe=new Array() for (i=0; i<iframeids.length; i++){ if (document.getElementById) resizeIframe(iframeids[i]) //reveal iframe for lower end browsers? (see var above): if ((document.all || document.getElementById) && iframehide=="no"){ var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]) tempobj.style.display="block" } } } function resizeIframe(frameid){ var currentfr=document.getElementById(frameid) if (currentfr && !window.opera){ currentfr.style.display="block" if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax currentfr.height = currentfr.Document.body.scrollHeight; if (currentfr.addEventListener) currentfr.addEventListener("load", readjustIframe, false) else if (currentfr.attachEvent){ currentfr.detachEvent("onload", readjustIframe) // Bug fix line currentfr.attachEvent("onload", readjustIframe) } } } function readjustIframe(loadevt) { var crossevt=(window.event)? event : loadevt var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement if (iframeroot) resizeIframe(iframeroot.id); } function loadintoIframe(iframeid, url){ if (document.getElementById) document.getElementById(iframeid).src=url } if (window.addEventListener) window.addEventListener("load", resizeCaller, false) else if (window.attachEvent) window.attachEvent("onload", resizeCaller) else window.onload=resizeCaller </script> <center> <br> <br> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script><script src="DOS%20Batch%20-%20Menus_files/ga.js" type="text/javascript"></script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-280191-1"); pageTracker._initData(); pageTracker._trackPageview(); </script> <br> </center> <iframe id="myframe" src="DOS%20Batch%20-%20Menus_files/viewforum.htm" marginwidth="0" marginheight="0" style="overflow: visible; display: block;" frameborder="0" height="2824" width="100%"></iframe></div> </body></html>