<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>批处理 &#8211; 张三太爷</title>
	<atom:link href="https://www.somedoc.net/tag/%E6%89%B9%E5%A4%84%E7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.somedoc.net</link>
	<description>看前面，黑洞洞</description>
	<lastBuildDate>Sat, 11 Mar 2017 11:25:16 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://www.somedoc.net/wp-content/uploads/2016/12/cropped-dandycheung-1-32x32.jpg</url>
	<title>批处理 &#8211; 张三太爷</title>
	<link>https://www.somedoc.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>批量重命名的批处理</title>
		<link>https://www.somedoc.net/2017/03/11/%e6%89%b9%e9%87%8f%e9%87%8d%e5%91%bd%e5%90%8d%e7%9a%84%e6%89%b9%e5%a4%84%e7%90%86/</link>
					<comments>https://www.somedoc.net/2017/03/11/%e6%89%b9%e9%87%8f%e9%87%8d%e5%91%bd%e5%90%8d%e7%9a%84%e6%89%b9%e5%a4%84%e7%90%86/#respond</comments>
		
		<dc:creator><![CDATA[张三太爷]]></dc:creator>
		<pubDate>Sat, 11 Mar 2017 11:25:16 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[批处理]]></category>
		<guid isPermaLink="false">http://www.somedoc.net/?p=3510</guid>

					<description><![CDATA[和上一篇里的内容一样，本文里的两个批处理脚本也是从故纸堆里挖 <a href="https://www.somedoc.net/2017/03/11/%e6%89%b9%e9%87%8f%e9%87%8d%e5%91%bd%e5%90%8d%e7%9a%84%e6%89%b9%e5%a4%84%e7%90%86/" class="more-link">[&#8230;]</a>]]></description>
										<content:encoded><![CDATA[<p>和上一篇里的内容一样，本文里的两个批处理脚本也是从故纸堆里挖出来的。</p>
<p>第一个是：</p><pre class="crayon-plain-tag">@echo off
setlocal enabledelayedexpansion

set /a idx=1
for /f %%file in (filelist.txt) do (
if exist %%file rename %%file File_%idx%.txt
set /a idx=%idx%+1
)

endlocal</pre><p> </p>
<p>关键点在于 set 的 /a 选项，表示给变量赋值时要运算其数值，另外就是 for 的 /f 参数表示会解析 in 后的文件里的每一行；另一个如下：</p><pre class="crayon-plain-tag">@echo off
setlocal enabledelayedexpansion

set num=1
for %%i in (*.log) do (
ren %%~nxi !num!.log
set /a num=!num!+1
)

endlocal</pre><p> </p>
<p>这个的注意点则是用 ~nx 修饰的 i 变量，帮助文档里是这么说的：</p>
<blockquote><p>
     %~dpI       &#8211; 仅将 %I 扩展到一个驱动器号和路径<br />
     %~nxI       &#8211; 仅将 %I 扩展到一个文件名和扩展名<br />
     %~fsI       &#8211; 仅将 %I 扩展到一个带有短名的完整路径名<br />
     %~dp$PATH:I &#8211; 搜索列在路径环境变量的目录，并将 %I 扩展到找到的第一个驱动器号和路径<br />
     %~ftzaI     &#8211; 将 %I 扩展到类似输出线路的 DIR
</p></blockquote>
<p>为了方便记忆，我推测前三个的缩写来源是，dp 代表了 [d]rive 和 [p]ath，nx 代表了 [n]ame 和 e[x]tension，而 fs 代表了 [f]ull path with [s]hort name。系统带的中文帮助翻译的相当生硬，所谓“扩展”其实就是“展开”，和 C 语言里处理宏的动作是一样的。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.somedoc.net/2017/03/11/%e6%89%b9%e9%87%8f%e9%87%8d%e5%91%bd%e5%90%8d%e7%9a%84%e6%89%b9%e5%a4%84%e7%90%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
