﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-我希望你是我独家记忆-随笔分类-DOS</title><link>http://www.cppblog.com/Hero/category/12709.html</link><description> 一段永远封存的记忆，随风而去</description><language>zh-cn</language><lastBuildDate>Sat, 02 Apr 2011 04:27:23 GMT</lastBuildDate><pubDate>Sat, 02 Apr 2011 04:27:23 GMT</pubDate><ttl>60</ttl><item><title>DOS批处理中%cd%和%~dp0的异同</title><link>http://www.cppblog.com/Hero/archive/2011/03/29/142970.html</link><dc:creator>Hero</dc:creator><author>Hero</author><pubDate>Tue, 29 Mar 2011 12:13:00 GMT</pubDate><guid>http://www.cppblog.com/Hero/archive/2011/03/29/142970.html</guid><wfw:comment>http://www.cppblog.com/Hero/comments/142970.html</wfw:comment><comments>http://www.cppblog.com/Hero/archive/2011/03/29/142970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Hero/comments/commentRss/142970.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Hero/services/trackbacks/142970.html</trackback:ping><description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><span style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">在DOS的批处理中，有时候需要知道当前的路径。在DOS中，有两个环境变量可以跟当前路径有关，一个是%cd%, 一个是%~dp0。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;&nbsp; 这两个变量的用法和代表的内容一般是不同的。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp; 1. %cd% 可以用在批处理文件中，也可以用在命令行中；展开后，是驱动器盘符:+当前目录，如：</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;&nbsp; 在 c:\dir 下，</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<div style="PADDING-BOTTOM: 1px; OVERFLOW-X: auto; OVERFLOW-Y: auto; BACKGROUND-COLOR: transparent; PADDING-LEFT: 1px; WIDTH: 694px; PADDING-RIGHT: 1px; FONT-FAMILY: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; WORD-WRAP: break-word; MARGIN-LEFT: 9px; FONT-SIZE: 12px; WORD-BREAK: break-all; PADDING-TOP: 1px" class=dp-highlighter>
<div class=bar>
<div style="TEXT-ALIGN: left; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 3px" class=tools>Bat代码<span class=Apple-converted-space>&nbsp;</span><embed height=15 type=application/x-shockwave-flash pluginspage=http://www.macromedia.com/go/getflashplayer width=14 src=http://luck-donkey.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf flashvars="clipboard=echo%20%25cd%25" quality="high" allowscriptaccess="always">&nbsp;<a style="COLOR: rgb(16,138,198); TEXT-DECORATION: underline" title=收藏这段代码 onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" class=star alt=收藏代码 src="http://luck-donkey.javaeye.com/images/icon_star.png"></a></div>
</div>
<ol style="BORDER-BOTTOM: rgb(209,215,220) 1px solid; BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: rgb(255,255,255); LIST-STYLE-TYPE: decimal; MARGIN: 0px 0px 1px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(43,145,175); FONT-SIZE: 1em; BORDER-TOP: rgb(209,215,220) 1px solid; BORDER-RIGHT: rgb(209,215,220) 1px solid; PADDING-TOP: 2px" class=dp-default>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black"><span style="COLOR: black">echo&nbsp;%cd%&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;&nbsp; 显示为，</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<div style="PADDING-BOTTOM: 1px; OVERFLOW-X: auto; OVERFLOW-Y: auto; BACKGROUND-COLOR: transparent; PADDING-LEFT: 1px; WIDTH: 694px; PADDING-RIGHT: 1px; FONT-FAMILY: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; WORD-WRAP: break-word; MARGIN-LEFT: 9px; FONT-SIZE: 12px; WORD-BREAK: break-all; PADDING-TOP: 1px" class=dp-highlighter>
<div class=bar>
<div style="TEXT-ALIGN: left; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 3px" class=tools>Bat代码<span class=Apple-converted-space>&nbsp;</span><embed height=15 type=application/x-shockwave-flash pluginspage=http://www.macromedia.com/go/getflashplayer width=14 src=http://luck-donkey.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf flashvars="clipboard=c%3A%5Cdir" quality="high" allowscriptaccess="always">&nbsp;<a style="COLOR: rgb(16,138,198); TEXT-DECORATION: underline" title=收藏这段代码 onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" class=star alt=收藏代码 src="http://luck-donkey.javaeye.com/images/icon_star.png"></a></div>
</div>
<ol style="BORDER-BOTTOM: rgb(209,215,220) 1px solid; BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: rgb(255,255,255); LIST-STYLE-TYPE: decimal; MARGIN: 0px 0px 1px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(43,145,175); FONT-SIZE: 1em; BORDER-TOP: rgb(209,215,220) 1px solid; BORDER-RIGHT: rgb(209,215,220) 1px solid; PADDING-TOP: 2px" class=dp-default>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black"><span style="COLOR: black">c:\dir&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;&nbsp; %cd%的时间内容是可以被改变的，比如CD命令就可以改变它的内容。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;2. %~dp0&nbsp; &nbsp; 只可以用在批处理文件中，它是由它所在的批处理文件的目录位置决定的，是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中，它展开后的内容是不可以改变的。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp; 比如在D盘下有个批处理文件，dirshow.bat:</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<div style="PADDING-BOTTOM: 1px; OVERFLOW-X: auto; OVERFLOW-Y: auto; BACKGROUND-COLOR: transparent; PADDING-LEFT: 1px; WIDTH: 694px; PADDING-RIGHT: 1px; FONT-FAMILY: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; WORD-WRAP: break-word; MARGIN-LEFT: 9px; FONT-SIZE: 12px; WORD-BREAK: break-all; PADDING-TOP: 1px" class=dp-highlighter>
<div class=bar>
<div style="TEXT-ALIGN: left; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 3px" class=tools>Bat代码<span class=Apple-converted-space>&nbsp;</span><embed height=15 type=application/x-shockwave-flash pluginspage=http://www.macromedia.com/go/getflashplayer width=14 src=http://luck-donkey.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf flashvars="clipboard=%40echo%20off%0Aecho%20this%20is%20%25%25cd%25%25%20%20%25cd%25%0Aecho%20this%20is%20%25%25~dp0%20%25~dp0" quality="high" allowscriptaccess="always">&nbsp;<a style="COLOR: rgb(16,138,198); TEXT-DECORATION: underline" title=收藏这段代码 onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" class=star alt=收藏代码 src="http://luck-donkey.javaeye.com/images/icon_star.png"></a></div>
</div>
<ol style="BORDER-BOTTOM: rgb(209,215,220) 1px solid; BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: rgb(255,255,255); LIST-STYLE-TYPE: decimal; MARGIN: 0px 0px 1px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(43,145,175); FONT-SIZE: 1em; BORDER-TOP: rgb(209,215,220) 1px solid; BORDER-RIGHT: rgb(209,215,220) 1px solid; PADDING-TOP: 2px" class=dp-default>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black"><span style="COLOR: black">@echo&nbsp;off&nbsp;&nbsp;</span></span></li>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black">echo&nbsp;this&nbsp;is&nbsp;%%cd%%&nbsp;&nbsp;%cd%&nbsp;&nbsp;</span></li>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black">echo&nbsp;this&nbsp;is&nbsp;%%~dp0&nbsp;%~dp0&nbsp;&nbsp;</span></li>
</ol>
</div>
&nbsp;
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;&nbsp; 在C:\ 下执行它，输出为：</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">&nbsp;</p>
<div style="PADDING-BOTTOM: 1px; OVERFLOW-X: auto; OVERFLOW-Y: auto; BACKGROUND-COLOR: transparent; PADDING-LEFT: 1px; WIDTH: 694px; PADDING-RIGHT: 1px; FONT-FAMILY: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; WORD-WRAP: break-word; MARGIN-LEFT: 9px; FONT-SIZE: 12px; WORD-BREAK: break-all; PADDING-TOP: 1px" class=dp-highlighter>
<div class=bar>
<div style="TEXT-ALIGN: left; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 3px" class=tools>Bat代码<span class=Apple-converted-space>&nbsp;</span><embed height=15 type=application/x-shockwave-flash pluginspage=http://www.macromedia.com/go/getflashplayer width=14 src=http://luck-donkey.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf flashvars="clipboard=C%3A%5C%3ED%3A%5Cdirshow.bat%0Athis%20is%20%25cd%25%20%20C%3A%5C%0Athis%20is%20%25~dp0%20D%3A%5C" quality="high" allowscriptaccess="always">&nbsp;<a style="COLOR: rgb(16,138,198); TEXT-DECORATION: underline" title=收藏这段代码 onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" class=star alt=收藏代码 src="http://luck-donkey.javaeye.com/images/icon_star.png"></a></div>
</div>
<ol style="BORDER-BOTTOM: rgb(209,215,220) 1px solid; BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: rgb(255,255,255); LIST-STYLE-TYPE: decimal; MARGIN: 0px 0px 1px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(43,145,175); FONT-SIZE: 1em; BORDER-TOP: rgb(209,215,220) 1px solid; BORDER-RIGHT: rgb(209,215,220) 1px solid; PADDING-TOP: 2px" class=dp-default>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black"><span style="COLOR: black">C:\&gt;D:\dirshow.bat&nbsp;&nbsp;</span></span></li>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black">this&nbsp;is&nbsp;%cd%&nbsp;&nbsp;C:\&nbsp;&nbsp;</span></li>
    <li style="BORDER-LEFT: rgb(209,215,220) 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(250,250,250); MARGIN: 0px 0px 0px 38px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px"><span style="COLOR: black">this&nbsp;is&nbsp;%~dp0&nbsp;D:\&nbsp;&nbsp;</span></li>
</ol>
</div>
</span></span>
<img src ="http://www.cppblog.com/Hero/aggbug/142970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Hero/" target="_blank">Hero</a> 2011-03-29 20:13 <a href="http://www.cppblog.com/Hero/archive/2011/03/29/142970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Taking User Input at DOS Prompt</title><link>http://www.cppblog.com/Hero/archive/2010/11/25/134590.html</link><dc:creator>Hero</dc:creator><author>Hero</author><pubDate>Thu, 25 Nov 2010 01:31:00 GMT</pubDate><guid>http://www.cppblog.com/Hero/archive/2010/11/25/134590.html</guid><wfw:comment>http://www.cppblog.com/Hero/comments/134590.html</wfw:comment><comments>http://www.cppblog.com/Hero/archive/2010/11/25/134590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Hero/comments/commentRss/134590.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Hero/services/trackbacks/134590.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-FAMILY: courier new; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #000000">Taking&nbsp;User&nbsp;Input&nbsp;at&nbsp;DOS&nbsp;Prompt<br>It&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;a&nbsp;very&nbsp;simple&nbsp;way&nbsp;to&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">&nbsp;the&nbsp;user&nbsp;input&nbsp;at&nbsp;the&nbsp;DOS&nbsp;prompt.&nbsp;You&nbsp;need&nbsp;to&nbsp;use&nbsp;the&nbsp;SET&nbsp;command&nbsp;with&nbsp;a&nbsp;variable&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">&nbsp;purpose.<br><br><br><br>SET&nbsp;Command&nbsp;(syntax)<br>&nbsp;Collapse&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;Copy&nbsp;Code<br>SET&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">P&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">var</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">prompt&nbsp;message</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">]<br><br>Example<br>&nbsp;Collapse&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;Copy&nbsp;Code<br>@ECHO&nbsp;OFFSET&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">P&nbsp;uname</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Please&nbsp;enter&nbsp;your&nbsp;name:&nbsp;<br>IF&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%uname%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">&nbsp;GOTO&nbsp;Error<br>ECHO&nbsp;Hello&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">uname</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">,&nbsp;Welcome&nbsp;to&nbsp;DOS&nbsp;inputs</span><span style="COLOR: #000000">!<br></span><span style="COLOR: #000000">GOTO&nbsp;End<br>:Error<br>ECHO&nbsp;You&nbsp;did&nbsp;not&nbsp;enter&nbsp;your&nbsp;name</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">&nbsp;Bye&nbsp;bye</span><span style="COLOR: #000000">!!<br></span><span style="COLOR: #000000">:End<br><br>Points&nbsp;of&nbsp;Interest<br>The&nbsp;word&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">uname</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;the&nbsp;above&nbsp;script&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;the&nbsp;variable&nbsp;that&nbsp;captures&nbsp;the&nbsp;user&nbsp;input.&nbsp;The&nbsp;above&nbsp;script&nbsp;also&nbsp;shows&nbsp;the&nbsp;validation&nbsp;whether&nbsp;any&nbsp;input&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;given&nbsp;or&nbsp;not.&nbsp;Use&nbsp;GOTO&nbsp;and&nbsp;Labels&nbsp;to&nbsp;control&nbsp;the&nbsp;flow.<br><br><br></span></div>
<img src ="http://www.cppblog.com/Hero/aggbug/134590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Hero/" target="_blank">Hero</a> 2010-11-25 09:31 <a href="http://www.cppblog.com/Hero/archive/2010/11/25/134590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>call和goto的异同点</title><link>http://www.cppblog.com/Hero/archive/2010/01/04/104749.html</link><dc:creator>Hero</dc:creator><author>Hero</author><pubDate>Mon, 04 Jan 2010 03:13:00 GMT</pubDate><guid>http://www.cppblog.com/Hero/archive/2010/01/04/104749.html</guid><wfw:comment>http://www.cppblog.com/Hero/comments/104749.html</wfw:comment><comments>http://www.cppblog.com/Hero/archive/2010/01/04/104749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Hero/comments/commentRss/104749.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Hero/services/trackbacks/104749.html</trackback:ping><description><![CDATA[<blockquote class=code><strong class=smalltxt>CODE:</strong>&nbsp;&nbsp;<a class=smalltxt onclick="copycode(findobj('code0'));" href="mk:@MSITStore:D:\我的文档\我的桌面\CN-DOS_Batch_2008A.chm::/一、理论讲解、资料类/call和goto的异同点.html###"><u><font color=#0000ff>[Copy to clipboard]</font></u></a>
<hr color=#dde3ec SIZE=1>
<div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Courier New; PADDING-TOP: 5px" id=code0>@echo off<br><br>echo 早上好!<br>goto :noon<br>echo 该睡觉了!&amp;pause&gt;nul<br><br>:noon<br>&nbsp; &nbsp; echo 中午好!<br>:night<br>&nbsp; &nbsp; echo 晚上好!<br><br>pause&gt;nul</div>
</blockquote>执行结果：<br><br>
<center>
<table border=0 cellSpacing=0 cellPadding=0 width="90%">
    <tbody>
        <tr>
            <td>&nbsp;&nbsp;Quote:</td>
        </tr>
        <tr>
            <td>
            <table style="BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid" border=0 cellSpacing=0 cellPadding=10 width="100%">
                <tbody>
                    <tr>
                        <td style="WORD-BREAK: break-all" width="100%">早上好!<br>中午好!<br>晚上好!<br>[按任意键退出]</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
</center><br>
<blockquote class=code><strong class=smalltxt>CODE:</strong>&nbsp;&nbsp;<a class=smalltxt onclick="copycode(findobj('code1'));" href="mk:@MSITStore:D:\我的文档\我的桌面\CN-DOS_Batch_2008A.chm::/一、理论讲解、资料类/call和goto的异同点.html###"><u><font color=#0000ff>[Copy to clipboard]</font></u></a>
<hr color=#dde3ec SIZE=1>
<div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Courier New; PADDING-TOP: 5px" id=code1>@echo off<br><br>echo 早上好!<br>call :noon<br>echo 该睡觉了!&amp;pause&gt;nul<br><br>:noon<br>&nbsp; &nbsp; echo 中午好!<br>:night<br>&nbsp; &nbsp; echo 晚上好!<br><br>pause&gt;nul</div>
</blockquote>执行结果：<br><br>
<center>
<table border=0 cellSpacing=0 cellPadding=0 width="90%">
    <tbody>
        <tr>
            <td>&nbsp;&nbsp;Quote:</td>
        </tr>
        <tr>
            <td>
            <table style="BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid" border=0 cellSpacing=0 cellPadding=10 width="100%">
                <tbody>
                    <tr>
                        <td style="WORD-BREAK: break-all" width="100%">早上好!<br>中午好!<br>晚上好!<br>[按任意键]<br>该睡觉了!<br>[按任意键]<br>中午好!<br>晚上好!<br>[按任意键退出]</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
</center><br>从上边两个例子我们已经可以很明白的看出call和goto的异同点了：<br><br><strong>相同点：</strong>call和goto都可以将流程跳转到标签处。<br><strong>不同点：</strong>goto将流程跳转到标签处后，程序从标签处开始执行到结束，整个流程执行完毕；call将流程跳转到标签处后，程序从标签处开始执行到结束[1]，然后会跳转回执行call的下一条语句，直到整个流程执行完毕；所以call并不会像goto那样打乱了流程，它只是中断了当前流程，但仍保证整个流程按原顺序进行。<br><br>[1]在第二个例子中我们可以在标签后适当的地方调用goto :eof，使流程提前结束，提前将流程转移call的下一条语句：
<blockquote class=code><strong class=smalltxt>CODE:</strong>&nbsp;&nbsp;<a class=smalltxt onclick="copycode(findobj('code2'));" href="mk:@MSITStore:D:\我的文档\我的桌面\CN-DOS_Batch_2008A.chm::/一、理论讲解、资料类/call和goto的异同点.html###"><u><font color=#0000ff>[Copy to clipboard]</font></u></a>
<hr color=#dde3ec SIZE=1>
<div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Courier New; PADDING-TOP: 5px" id=code2>@echo off<br><br>echo 早上好!<br>call :noon<br>echo 该睡觉了!&amp;pause&gt;nul<br><br>:noon<br>&nbsp; &nbsp; echo 中午好!<br>goto :eof<br>:night<br>&nbsp; &nbsp; echo 晚上好!<br>goto :eof<br><br>pause&gt;nul</div>
</blockquote>执行结果已和例二有所不同，先显示：<br><br>
<center>
<table border=0 cellSpacing=0 cellPadding=0 width="90%">
    <tbody>
        <tr>
            <td>&nbsp;&nbsp;Quote:</td>
        </tr>
        <tr>
            <td>
            <table style="BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid" border=0 cellSpacing=0 cellPadding=10 width="100%">
                <tbody>
                    <tr>
                        <td style="WORD-BREAK: break-all" width="100%">早上好!<br>中午好!<br>该睡觉了!</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
</center><br>按任意键后接着显示"中午好!"，到goto :eof后退出！<br>很显然，如果在例一中加入goto :eof则只是提前结束了流程。<br>
<img src ="http://www.cppblog.com/Hero/aggbug/104749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Hero/" target="_blank">Hero</a> 2010-01-04 11:13 <a href="http://www.cppblog.com/Hero/archive/2010/01/04/104749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>