本应该是2,奈何没有记录1,为了巩固学习,以后小技巧和发现都记录下来。
问题背景描述:在处理气象站点数据的时候,要从800个气象站点中选出研究区的66个,之前师姐已经处理成了
data_站点编码_year 的形式,分成温度、湿度、日照和风速四个文件夹,年份信息为1961-2014.手动筛选我需要的66个站点的1995-2014年数据工作量太繁琐,于是编写了批处理如下:
@echo off
for /f "delims=" %%a in (a.txt) do (
copy /y "d:\气象数据\气象数据类型\*%%a*" "D:\finallists"
)
其中,“a.txt”为研究区的气象站点编码文本文件,气象站点编码以一列的形式存储。
"d:\气象数据\气象数据类型"为要处理的气象数据所在的文件夹,
"D:\finallists"为要把筛选后的数据复制到的目标文件夹。
解释一下:for在批处理中是循环行,适用于这里逐行操作。/f是对文件进行操作,这里进入了txt的内部。”delims“是一个参数,这里没有附内容,不确定能否删除。%%a为变量,存储有从a.txt中取值得的每行数据。*为代替任意字符的通配符。copy是复制,/y 是不使用要确认是否覆盖目标文件的提示。