科学网

 找回密码
  注册

tag 标签: 批处理

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

【EndNote】批量导入enw文件的操作
热度 1 JerryYe 2020-2-28 15:50
1. 在命令窗口进入本地存储enw文件的文件夹 进入DOS命令窗口的快捷键:wins键+R 命令行输入:D: cd D:\\references copy *.enw all.enw 2. 利用Notepad++打开all.enw,然后用‘\\n\\n%0’全部替换‘%0’,勾选选项,保存 3. 用EndNote导入all.enw
个人分类: 文献管理|10031 次阅读|1 个评论
物联网、大数据与AI结合的融智系统
geneculture 2018-12-7 14:49
物联网、大数据与AI结合的融智系统 作者:邹晓辉 摘要: 旨在通过物联网、大数据与AI结合来实现智慧城乡的发展必须的融智系统。其方法是分别建构智能化驻行载器、超级宏语言开发环境和特定行业知识中心,然后,形成综合的智能系统,其特征是在于形式化和社会化互动基础上的协同智能化。其结果是物联网、大数据与AI结合形成的融智系统可直接促使智慧城乡发展分步到位。其意义在于:实践上有利于交通和基建等行业智慧聚集,从而,可更好地驾驭全行业。理论上可在高等学校来普及知识中心。
个人分类: 学术研究|1142 次阅读|1 个评论
【Matlab】eval命令的应用
JerryYe 2016-12-28 20:04
eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子: (1) for i=1:length(file) data=load(file(i,1).name); ind=find(data(:,1)50000data(:,7)0.9data(:,8)7); name=file(i,1).name(1:length(file(i,1).name)-4); eval( ); dat_nam= ; eval( ) end (2) for i= eval( ) eval( ) eval( ) U_std(i,1)=std(data1); V_std(i,1)=std(data2); end (3) for j=1:34; for i=j*92-91:j*92 k=i-92*(j-1); data(k,:,:)=mean(u(i*4-3:i*4,:,:)); end eval( ) eval( ) end (4) datadir='F:\\工作\\2017\\解决问题\\data\\DG\\'; filename=dir( ); for i=1:length(filename) eval( );']) DG_stainfo(i,:)=data.loc; clear data end eval能够进行批处理,所以对命名规律的数据的处理很有帮助。
个人分类: Matlab|8533 次阅读|0 个评论
C shell:脚本实现多文件的批量解压、转换
zhoufcumt 2015-11-29 02:57
GNSS定位中很多文件是以“.Z”或“.gz”格式压缩,脚本实现了大量压缩文件的批解压,解决坏的压缩文件(如0字节压缩文件或下载不全的压缩文件)会中断解压过程的问题,同时实现了观测值d文件向o文件的批转换,这对数据的在线批处理是很有必要的。如有需要,请发邮件至fzhou@geodesy.cn或fzhou@gfz-potsdam.de索取,将提供所需的脚本和64位的可执行程序。
个人分类: LINUX|3669 次阅读|0 个评论
使用GAMIT进行批处理基线解算
PurpleSky 2015-4-2 21:38
1. 文件准备 1.1 控制文件 执行 sh_setup 或者sh_ links.tables 命令来把所有标准数据表文件 链接 到工程目录 ./tables 文件 夹中 。 然后手动从 GAMIT 安装目录的 tables 文件夹拷贝以下文件到tables文件夹,并根据你的需要进行配置。 process.defaults: 通过该文件指定你的计算环境、内部和外部的数据、轨道文件、开始 时间、采样间隔和结果归档说明。 (参考《 GAMIT10.35 中文版》) sites.defaults: 指定使用的本地区域站和IGS 站 ,如何处理测站数据。 如需要从 IGS数据中心获取RINEX文件,应该在 sites.defaults 中用 ftprnx指定下载的测站。sh_gamit将会调用 sh_get_rinex 从CDDIS、SOPAC、UNAVCO下载所有指定的可获得的数据到/rinex 目录 。 station.info: 确定这个文件是新(来自SOPAC)的,并且包含了你解算时需要的所有IGS站。 apr文件: sh_gamit需要工程目录tables文件下的2个先验坐标文件 :lfile.(解算后更新坐标)和 * .apr (固定坐标) 。 假如测站的先验坐标在前先处理得到的 L-文件(或 apr文件)中未找到,sh_gamit 默认会调用 sh_rx2apr 脚本来计算伪距解。 sestbl. 和 sittbl. : 编辑这两个文件,设置恰当的参数 值 ,完成你的分析。 autcln.cmd: 该文件通常不需要编辑,除非在处理时遇到了异常数据,或需要设置电离层信息的输出。 1.2 观测文件 在工程目录下建个 /rinex文件夹,然后把本地的数据都拷贝到其中 ; 也可以在process.defaults文件中指定目录结构,自动搜索本地和远程的原始文件、RINEX文件。GAMIT需要的其它目录、文件都会由脚本直接创建。 2. 开始处理 完成上面的操作之后,你已经在解算项目的文件夹下建立了两个文件夹: rinex 和 tables ,并且已经把观测数据和表文件分别放入其中了。 现在就可以进行批处理解算了, cd 命令回到解算项目文件夹,执行批处理命令: sh_gamit-expt \$expt -d \$year $days ! sh_gamit.log 其中 $expt 代表任务名, $year 和 $days 是年与年积日列表。年积日列表也可以用 -s开始天结束天指定,表示处理连续的天,或者用 -r 天,表示处理当前日期之前的 一系列 天。 当 sh_gamit 脚本运行时,它会把每一步输出到屏幕,可以采用“ ! sh_gamit.log”方式重定向输出到文件中。可以结合 GAMIT.fatal 文件和 sh_gamit的源代码来找到运行失败的关键和原因。 3. 备注 自动批处理时可用的实用程序中用的包括: sh_make_rinex 、 sh_get_nav、sh_get_rinex 、 sh_get_orbits、sh_update_eop、sh_link_rinex、sh_make_sky_gifs。这些程序运行的帮助信息可以直接输入不带参数的程序名获得。 如果不用 sh_rx2apr , 可以在process.defaults 中设置 use_rxc=Y , 应用 RINEX 头文件中的坐标。这个选项只有你确定头文件中的 测站坐标 值总是存在并准确 时 才能使用。 假如 ftp不能从IGS(通常是 SOPAC 或 CDDIS)获得需要的全球 RINEX 文件或轨道文件,sh_gamit 解算 也会失败 , GAMIT.fatal 信息通常会告诉你缺少了什么文件。 在解算失败后,当需要重新解算失败的天时,要注意避免重复的失败。 简便的方法是完全删掉天目录并删除 /tables 目录中 L- 文件和 station.info 文件中的错误记录。 如果提示下载精密星历或者广播星历出错,通常应该是因为你没有安装 ftp 程序。
个人分类: GAMIT/GLOBK|7130 次阅读|0 个评论
Matlab读取文件夹下指定扩展名的所有文件的文件名
wdecai 2014-11-15 10:16
为了能够批量处理某一文件夹下的所有相同格式的文件,采用Matlab编写了读取所有文件的文件名函数。主要是为了批处理强震记录使用,由于使用最多的是PEER的AT2格式文件,如果不指定文件扩展名的话,默认读取指定文件夹下的所有AT2格式的文件名,函数返回值为一个cell格式的变量。 函数的主要信息如下: %% Main information % Developed by Decai@hfut 2014/11/14 % read file names of the folder with the specified extension % default extension: AT2 %% Description of input output variables % input variables % direc: folder name % output variables % filenames: file names of the folder with the specified extension (format: cell array) %% Format to use % filenames=dirFolder(direc) % default: *.AT2 file names ca be recognized % or filenames=dirFolder(direc,'xls') % or filenames=dirFolder(direc,'dat') %any extension can be used %% Example % direc='D:\records\all'; % ext='txt'; % filenames = dirFolder(direc,ext); % if only recognize *.AT2 file names % direc='D:\records\all'; % filenames = dirFolder(direc); 函数附件: dirFolder.p
个人分类: 自编程序|11124 次阅读|0 个评论
ArcGIS 中的批处理
maohelu 2014-9-23 11:12
可别告诉我您不知道什么是批处理,当面对一大堆需要重复操作的数据时,往往让我们感到头大,这时候我们会想到批处理,那 ArcGIS 给大家提供了哪些批处理的方法呢,让我们拭目以待。 假设我们需要给道路建立缓冲区,设计到的工具为 Buffer 。 第一种情况,一个图层中不同要素建立不同大小的缓冲区 不同类型的道路,我们需要建立不同大小的缓冲区,比如,一级道路建立 10 米的缓冲区,二级道路建立 15 米的缓冲区,三级道建立 20 米的缓冲区。 步骤: 1、 首先应该保证你的道路数据里面有一个属性字段是用来存储 Buffer 宽度信息的。 2、 应用 Buffer 工具,在对应的参数位置选择刚才的字段即可,如下: 第二种情况,不同的图层建立不同大小的缓冲区 假设还有其他不同的数据,不仅仅是道路,这些图层都需要建立缓冲区。 步骤: 1、 找到 Buffer 工具,右键,选择 Batch ,打开批处理面板。从该面板上我们可以发现,参数与我们打开 Buffer 的参数是一样的,这个时候是不是可以考虑在 EXCEL 中批量编辑好,然后复制过来呢 2、 在 Excel 中编辑需要的数据,如下: 3、 将在 Excel 中编辑的数据复制到 Buffer 的批处理面板中来。此处需要注意,如果要复制 10 行数据,需要在批处理面板中先选中 10 行,右键单击,选择“ paste ”。 4、 点击 OK 即可。 如果想要每个图层中每种类型的数据的缓冲区宽度都不一样,该怎样处理的?这个留给您来尝试吧,原理很简单,就是找到参数位置,写上对应的字段即可。 第三种情况, Python 实现批处理 如果您觉得上面的方法比较麻烦,而且要求也比较严格,您可以考虑应用 Python 来处理。 步骤: 1、 编写代码 import arcpy,os inFCs = arcpy.GetParameterAsText(0) outWS = arcpy.GetParameterAsText(1) dist = arcpy.GetParameterAsText(2) inFCs = inFCs.split(;) for inFC in inFCs: fileName =os.path.split(inFC) arcpy.Buffer_analysis(inFC,outWS + \\ + fileName, str(dist) + meter) 上面这段代码,要求用户自己设置输入数据、输出数据、缓冲区宽度(单位为米)。这里输出缓冲区数据的名称和输入数据的名称一样,如果不想要这样,可以进一步修改代码。 2、 接下来将该代码增加到 ArcToolbox 中,步骤比较简单,这里不再赘述,可以参考文档: http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/00150000001r000000/ 需要注意的地方为最后的参数设置部分, ” 输入数据 ” 的“ MutiValue ”属性设置为 ”Yes” (此部分的参数设置较条条框框较多,需要与你的代码相互对照) 3、 完成后,工具将会添加到您自己的工具箱中。打开该工具,您会看到界面像普通工具的界面一样,输入数据可以设置很多个,但是这个工具所有图层的缓冲区大小必须一样,如下: 哈哈,我的介绍就到此为止了,您要是觉得还不满意,欢迎继续交流。 后记: Python 不仅仅这样简单,你可以写出来任何你想要的工具,你当然可以为不通的图层设置不同的缓冲区,当然也可以设置任何的输出数据名称,您甚至可以为不通的图层设置不同的缓冲方式。这个任务就交给您了。 作者:水中孤荷
个人分类: 技术文章|4603 次阅读|0 个评论
[转载]windows下如何写自动批处理命令
zhangdong 2014-4-27 23:11
在处理数据的过程中,每个软件有各自的特点,比如有的时候使用perl处理文本,有的时候使用matlab做点矩阵运算,有的时候用R做点统计分析,那么自然有人会想,如何制作一个自动批处理文件,让他具有智能的效果,即:自动调用perl处理完文本,自动调用matlab处理矩阵,自动调用R处理统计分析问题,一次执行完毕呢?下面我们看看各种语言的批处理命令文件如何制作。 windows下使用自动批处理命令可以自动调用各个软件完成你的工作,下绍几种为例,其他的都大同小异: 1、R语言 R语言中C:\Program Files\R\R-2.13.0\bin中有个Rscript.exe,这是脚本运行的程序。 (1)将你的R语言程序写入一个叫mywork.r的文件中,文件名字自己随便起就行。 (2)建立个Rcmd.txt文件,里面写入代码 : cd C:\Program Files\R\R-2.13.0\bin Rscript.exe D:\mywork.r(这里注意要是完整的路径) 然后,将Rcmd.txt修改扩展名为Rcmd.bat然后双击就ok了,自动运行。 2、Matlab Matlab目录C:\MATLAB7\bin\win32中有个matlab.exe,可以利用这个程序制作脚本。 (1)将你的matlab语句程序写入一个叫mywork.m的文件中,文件名字自己随便起就行。 (2)建立个mysqlcmd.txt文件,里面写入代码 : cd C:\MATLAB7\bin\win32 start /wait /min matlab.exe -nosplash -automation -sd C:\MATLAB7\bin\win32 -logfile result.log -r run('C:\MATLAB7\bin\win32\mywork.m') 然后,将matlabcmd.txt修改扩展名为matlabcmd.bat然后双击就运行了。 结果会生成一个result.log的文件,这个文件内容和matlab命令行运行窗口的结果一样。 3、mySQL mysql中C:\mysql\bin中有个mysql.exe,可以利用这个程序制作脚本。 (1)将你的SQL语言程序写入一个叫mywork.sql的文件中,文件名字自己随便起就行。 (2)建立个mysqlcmd.txt文件,里面写入代码 : cd C:\mysql\bin mysql.exe -uroot -p111111 mywork.sql 然后,将mysqlcmd.txt修改扩展名为mysqlcmd.bat然后双击就运行了。 4、perl perl语言中C:\Perl\bin中有个perl.exe,可以利用这个程序制作脚本。 (1)将你的perl语言程序写入一个叫mywork.pl的文件中,文件名字自己随便起就行。 (2)建立个perlcmd.txt文件,里面写入代码 : cd C:\mysql\bin perl perlcmd.txt 然后,将perlcmd.txt修改扩展名为perlcmd.bat然后双击就运行了。 总结: (1)所有上述的内容适当的安排好,可以写到一个批处理命令里面,这样的话,你利用各个软件的优点写完所有的程序然后点击批处理命令,你就可以去打游戏了,打完游戏看看你的结果出来没有。 (2)其他一些如python,jaya等等都可以以种方式写批处理命令。 (3)上述软件基本都在安装包的bin目录下面,设置好路径,然后调用即可。还可以直接配置好环境变量,然后在任何一个目录下面调用这些程序就ok了。 http://www.biostatistic.net/home.php?mod=spaceuid=12734do=blogid=1963
2290 次阅读|0 个评论
[转载]MATLAB实现批量处理图像图片的两种方法
hestendelin 2013-9-23 08:25
基本上有两个方法: 方法一 : 将图像统一进行一次重命名如:1.jpg,2.jpg等,然后利用for循环依次进行处理即可,如下面的语句:假设图像共有20副: str='D:\做差\好的图像\'; %我的图像放在D盘,做差文件夹下,好的图像文件夹下 for i=1:20 I=imread( ); %依次读取每一幅图像 %在此处进行你的图像处理即可 end 方法二 : 将图像统一方法一个文件夹下,不需要统一进行重命名了,利用uigetdir函数得到你所处理图像的路径, 然后对此路径下的所有图像进行处理,举例如下:我只处理bmp文件 srcDir=uigetdir('Choose source directory.'); %获得选择的文件夹 cd(srcDir); allnames=struct2cell(dir('*.bmp')); %只处理8位的bmp文件 =size(allnames); %获得bmp文件的个数 for ii=1:len %逐次取出文件 name=allnames{1,ii}; I=imread(name); %读取文件 %然后在此处添加你的图像处理程序即可 end 原文地址: http://blog.sina.com.cn/s/blog_4d633dc70100pr61.html
个人分类: 转载|6305 次阅读|0 个评论
cb2007谱每个前6行都是解释,使用时批处理删除
wendyxiaoqing 2013-1-11 11:22
cb2007谱,每个谱前6行都是解释,用idl使用时,批处理删除 在该目录下:sed -i "1,6d" *.spec 其中spec为所有谱的后缀名
个人分类: shell|3428 次阅读|0 个评论
cmd批处理命名:生成本文件夹包括子文件夹下的所有文件名列表
热度 1 tyfbyfby 2012-8-11 18:48
为了程序方便,我们经常需要将本文件夹包括子文件夹下的所有文件名列成一个.txt列表,而这个工作可以使用windows的批处理命令来完成,具体步骤如下: 1.建立文件名为:SubfolderFilelist.bat的批处理文件 2.用记事本打开SubfolderFilelist.bat,在该文件中粘贴如下代码并保存 @echo off :: 如果要文件名带上路径,则需要在dir这一句的%%~nxi上作改动 :: code by FBY mail:tyfbyfby@126.com if exist filenamelist.txt del filenamelist.txt /q ::for /f "delims=" %%i in ('dir /b /a-d /s') do echo %%~nxifilenamelist.txt for /f "delims=" %%i in ('dir /b /a-d /s') do echo %%~dpi%%~nxifilenamelist.txt if not exist filenamelist.txt goto no_file start filenamelist.txt exit :no_file cls echo %cur_dir% 文件夹下没有单独的文件 pause 3. 双击SubfolderFilelist.bat,即可生成本文件夹包括子文件内所有文件的列表 附:如果想查看for函数的其它文件格式输出形式,可在命令行中输入"for /?"命令查看for的help文档,内容非常全面而且是中文文档。
个人分类: windows工具|15007 次阅读|4 个评论
windows批处理命令合集(不断更新中)
tyfbyfby 2012-4-24 21:20
使用方法: 将以下语句用记事本编写,保存后缀名为“.bat”使用。 删除当前文件夹下的.bmp文件: del *.bmp 删除当前文件夹(包括子文件夹)下的.bmp文件: del /f /s /q ".\*.bmp"
个人分类: 图像工具|4305 次阅读|0 个评论
如何在Linux中做批处理和后台计算
热度 2 NanoZhang 2012-3-6 13:44
单个计算任务的提交 How to compute by Gaussian 03? 1. Upload "xxx.gjf" to your folder. 2. Perform "g03 xxx.gjf " in your folder. 3. See your tasks by "jobs", it's running. Ok! How to run a Fortran code? 1. Upload "xxx.f90" to your folder. 2. Perform "gfortran xxx.f90 -o xxx" in your folder. 3. Perform "./xxx ". 4. See your tasks by "jobs", it's running. Ok! How to stop a running task? 1. Perform "ps" or "top", find the "pid" corresponging to the task you want to stop. 2. Perform "kill -9 pid", if not, perform "kill -15 pid". 3. See your tasks by "jobs", it disappears. Ok! 多个计算任务依次执行(即批处理) 以Gaussian计算为例,新建一个文件,比如batch,不需要文件类型扩展名。输入如下内容: g03 xx1.gjf g03 xx2.gjf …… 执行“chmod u+x batch”改变其权限,使其可执行。 如果不是unix格式,就使用“dos2unix batch”把Windows格式转换到Unix格式。 执行“./batch ”。Ok! 让任务在后台运行 在我的机子测试中,仅仅按上面的操作,即只在命令末尾加“”,就可以在后台运行了。如果不行,还可以使用下面的方法。以Gaussian计算为例 1. nohup方法:"nohup g03 xxx.gjf " 2. setsid方法:"setsid g03 xxx.gjf" 3. ()方法:"(g03 xxx.gjf )" 4. 补救措施。把已经提交的任务转到后台运行。 "disown -h %n" n是作业号,利用jobs查看 "disown -ah" 使所有的作业都忽略HUP信号 "disown -rh" 使正在运行的作业忽略HUP信号 5. screen方法 如果有大量的任务需要在后台运行,又不想每次都使用上面的命令这么麻烦,可以使用screen方法。 注意:用终端提交完任务后,用logout或exit正常退出,别直接点右上角的叉叉,否则会出现后台命令失效的情况。 其他常用命令 1. 查看cpu “cat /proc/cpuinfo” 物理CPU数 “cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l” 每个CPU的核数 “cat /proc/cpuinfo | grep 'physical id' | grep '0' | wc -l” 逻辑CPU数“cat /proc/cpuinfo | grep 'processor' | wc -l” (写作格式:“grep 'model name' /proc/cpuinfo”) 2. 查看Linux版本 “cat /proc/version”、“uname -a” 3. 查看操作系统版本 “cat /etc/issue” 4. 查看操作系统位数 “arch”、“uname -m”、“getconf LONG_BIT”、“ cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l ” 5. 查看计算机名 “hostname” 6. 查看内存 “cat /proc/meminfo”、“free -m” 7. 查看硬盘 “df -h” 8. 统计目录 “du -m” 9. 实时信息 top 10. 查看进程 “ps -ux”、“ps -ef | grep pid” 11. 只允许root登录:在/etc目录中执行“touch nologin”,删除产生的nologin文件即可恢复用户 12. 查询一个包是否被安装 “rpm -q xxx”、“rpm -qa | grep xxx”
10115 次阅读|4 个评论
[转载]R语言中使用Rscript命令代替R CMD BATCH执行命令行指令
ChaoZhangJimsar 2012-3-5 15:20
(原文链接) 在windows下通过命令行来调用R脚本,可以使用R CMD BATCH file 命令。这样可在别的语言中(java,perl,php)执行此条命令,从而调用R脚本。 但是当在linux下,因为BATCH指令的权限问题,将会导致非root权限无法调用此条指令。这时使用Rscript file代替即可。(貌似Rscript在windows下无法使用,因为MS的CMD不支持)。 ============================================================================================== 昨天又重新查看文档,并做了尝试,发现命令行指令可以用以下两种形式: 1.R infile outfile 2.Rscript file 首先看1. a. 代表R指令的选项,具体的选项有很多,可以参考相关文档,其中'--save', '--no-save' or '--vanilla'这三者必须填一个。这就意味着 不能为空。同时推荐使用--slave 选项,这个选项让R命令工作在安静模式,否则,R脚本中的所有内容都会打印在命令行内。 b. 这个没弄明白,我没有用到这个部分。 c. infile 输入的文件。不可省略。 d. outfile 输出的文件,同上。 e. args 希望向R脚本传递的参数,在脚本内可以用commandArgs()函数读取这些参数。 f. 除了args,好像前面几个部分是可以颠倒位置的。但是args参数必须放在最后,否则报错 g. 可以直接用想要传递的参数代替,也可以先用--args 指明,比如--args XXX, 这两种方法都可以成功的向脚本传递参数,其参数都可以被commandArgs()函数获得。但是不同在于,如果想使用commandArgs(TRUE)来筛选出合适的参数的时候,必须用 --args XXX 接着看2. Rscript实际上是R脚本在命令行应用的一个前端 在Rscript file 中: a. 并非必须的。 b. file前面不用加"" ,这点和R指令不同,Rscript会自动将第一个单独的字符串(前面没有加-- 等字符)作为输入的脚本文件名。 c. 如果想指定输出,可以使用outfile 这点和R指令相同。 d. 同样 必须在最后。但是commandArgs(TRUE)是无法从中筛选出合适的参数的。即是说,如果想使用commandArgs(TRUE),那么只有使用R指令。 PS: commandArgs(TRUE)和commandArgs()区别在于: 对于命令R --vanilla --slave test.r --args ss 前者得到的参数为 "ss" 后者得到的参数为 "/path/to/R" "--vanilla" "--slave" "--args" "ss" R CMD BATCH file 的格式是 R CMD command file,这里的command是别的工具,比如BATCH(批处理工具),R借助这种指令来使用别的工具处理R脚本。所以在linux下这种方式可能会牵涉到别的工具的权限的问题。
9336 次阅读|0 个评论
批量修改word表格格式
creator 2012-2-23 20:20
批量修改word表格格式
适用版本: microsoft office word 2007/2010 基本要求: 新建表格样式。新插入一个表格,当光标放在表格上后,菜单栏会多出“设计”菜单,在下拉样式表里选择“新建表样式”。 在弹出菜单里设置你的格式 名称取好,点左下角的格式设置格式,选基于该模板的新文档方便以后用。 减好过后,在表格样式里自定义栏就会有该样式,你就可以方便的改变你表格的样式了。 进阶: 打开“开发工具”菜单,点击“宏”。 在宏名下取个新名字,然后点创建。 在弹出的代码框输入如下代码: Sub 取个名字 () For i = 1 To ActiveDocument.Tables.Count ActiveDocument.Tables(i).Style = " 我的格式 " Next End Sub 代码解释: 第一行:会自动有该行,就是你取的宏名 第二行:创建一个 For 循环,意思是从 1 到整个文档的表格数 第三行:当前文档第 i 个表格样式选择名称为“我的格式”的表样式,如果你取的别的名称就改成别的。 第四行: For 循环终止符,必须的 第五行:自动生成,结束宏的,也是必须的 使用方法,选择“开发工具菜单”,点击宏,见上图,选择你要使用的宏,点击运行即可,如果你新建了一个样式,你可以编辑宏更改第三行的名称即可。 有了上面的表格样式和宏命令后,不管你的 word 文档有多少个表格,可以一次将格式统一。 方便那些写报告写论文,文档中有很多表格要调格式的朋友。 批量修改word表格格式.pdf
个人分类: 杂谈|6549 次阅读|0 个评论
Bat 文件及其妙用
Bearjazz 2011-12-14 11:18
Bat 文件及其妙用 熊荣川 中国科学院成都生物研究所 xiongrongchuan@126.com 1、 什么是 bat 文件 bat 是 dos 下的批处理文件。首先批处理文件是一个文本文件,这个文件的每一行都是一条 DOS 命令(大部分时候就好象我们在 DOS 提示符下执行的命令行一样),你可以使用 DOS 下的 Edit 或者 Windows 的记事本 (notepad) 等任何文本文件编辑工具创建和修改批处理文件。其次,批处理文件是一种简单的程序,可以通过条件语句 (if) 和流程控制语句 (goto) 来控制命令运行的流程,在批处理中也可以使用循环语句 (for) 来循环执行一条命令。当然,批处理文件的编程能力与 C 语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的 DOS 命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 2、 Bat 文件在生物信息学中的应用 很多生物信息学软件都需要在 dos 环境下运行,如果是一条一条的输入命令,显得非常繁琐,而且往往“一系列”的命令让人记住后面忘了前面,不利于经验和教训的总结,也不利于在出错后往回查找原因。 具体的应用请参照我的两篇博文 用 RAxML 构建系统发育树并计算节点支持率 http://bbs.sciencenet.cn/home.php?mod=spaceuid=508298do=blogid=517703 介绍一款可以自动识别基因类型的序列比对软件 Muscle http://bbs.sciencenet.cn/home.php?mod=spaceuid=508298do=blogid=467550 3、 Bat 文件的妙用 Bat 批处理命令语句中有很多有趣且有用的命令,这里就“ CALL ”作一个介绍 “ CALL ” 主要功能是从一个批处理程序中调用另一个批处理程序,而不会引起第一个批处理的中止。 我们通常会在人休息的时候进行数据运算,比如睡觉的时候,但是往往程序往往不到 8 个小时(我们平均的睡眠时间)就结束了。机器就闲着了。这时候我们可以在第一个 bat 文件的末尾调用第二个 bat 文件,从而第一次运行结束时调用第二个运行。 例如,我们在使用 Fasttree 程序算树时,可以把下列语句保存为 bear2.bat FastTree -gtr -gamma -log logfile2.txt -nosupport -nt xiong.fas outfile2.trees Pause 然后,把下列语句保存为 bear.bat FastTree -gtr -gamma -log logfile.txt -nt xiong.fas outfile.trees CALL bear2.bat Pause 运行, bear.bat ,就可以运行两次,生成两个 log 文件( logfile.txt 和 logfile2.txt ),生成一个有支持率的系统发育树( outfile.trees )和一个没有节点支持率的系统发育树( outfile2.trees )。
个人分类: 我的研究|5152 次阅读|0 个评论
如何制作ArcGIS批处理列表
热度 3 aweng 2011-6-17 22:02
最近一段时间,我需要处理一批数据。由于种种原因,最后选择了ArcGIS来处理。 在尝试其中一组数据后,我对处理结果很满意。不过难题来了,怎么对付这么一堆数据呢? 我处理的数据是全国31个省级行政区的年数据,时间范围为1961年到2008年。按每个省级行政区每年的数据算一组数据的话,那么总共有1488组数据。按每组数据我要用三步来处理,总用时要10分钟的话,那么我得花上14880分钟,即248小时,或者就是不眠不休10天多,或者是31个工作日来计算。就算我能将工作效率提高一倍,那么也相当于15.5个工作日。这样太耗时间了。我发现我的10分钟大部分都花在了确定执行步骤的选择上,真正运算并不花太多时间。所以我就想怎么提高效率。 经过询问,我得知使用ArcGIS的批处理功能可以达到这个目的。 启动ArcGIS的批处理功能很简单。在ArcMap或ArcCatalog中打开ArcToolbox,选择好你想要的工具后,右键点击,选择“批处理”即可。如果你对这个工具的使用不是很熟,那么我建议先左键双击打开,试验一下单次处理再说。 打开的“批处理”是一个对话框,它由四个区域组成。面积最大的,位于左上角的是列表区,可以在里面操作生成批处理列表。列表区右边是一列操作按钮,自上而下分别是添加行、移除所选行、向上移动所选行、向下移动所选行、显示帮助和检查值。操作按钮右边是帮助信息显示区。最下面是对话框操作按钮。这个对话框还可以扩大到全屏。 在批处理操作不多的情况下,如果仅有10个以内,可以直接在列表区中一个个填写单元格中的信息,直到完成整个批处理列表。 如果批处理操作比较多,但不超过1页,即列表区还不出现纵向滚动条的情况下,可以选中其中一行或多行,用复制、粘贴的办法增加新行中的内容。 如果要增加内容相同的一行或多行,可以将要复制的一行或多行选中,使其高亮显示,再按操作按钮中的“添加行”(“+”按钮),则会自动在列表最后增加与选中内容一样的、行数相同的行。这操作中,选中的行可以是有内容的,也可以是空白的。 如果批处理操作很多,超过1页,甚至成百上千行,那么直接在ArcGIS批处理中操作就会很烦琐也很不方便。其中一点就是当你点击任意一个单元格,列表都会自动先回到首页,再自动滚动到你点击的位置。在批处理数量少的时候,程序反应比较快,感觉不太明显。如果批处理数量多,那么反应就会很慢,直到你无法接受。这个时候,我们就要另辟蹊径了。 在这种情况下,我们可以使用Excel来完成这项工作,具体步骤如下。 1 先在ArcGIS的批处理列表中,完成至少1行、最好是你感觉的足够多行的列表,并且检查无误。 2 选中列表中的这些行,按Ctrl+C复制。 3 打开Excel,新建一个空白的工作表,在左上角第一行第一列的单元格处Ctrl+V粘贴。 4 在Excel中检查复制好的内容,看看之后要增加的行与现有的行,哪些有所改变,哪些没有改变。这一步也可以在步骤1中操作,但因批处理列表操作较麻烦,建议还是移到步骤4中操作比较方便。 5 在Excel中制作增加的列表行,可以利用Excel的“复制单元格”、“填充序列”、“查找-替换”等功能。 6 在ArcGIS批处理列表中,用上文增加内容相同的一行或多行的办法,在列表中增加足够的行。为区别原有的行,此步骤中所增加的最好是空白行。 7 将Excel中制作好的列表行选中,Ctrl+C复制。 8 到ArcGIS批处理列表中,选中与步骤7中同样多的行,Ctrl+V粘贴。 9 如果需要,重复步骤5-8,直到ArcGIS批处理列表制作完毕。 注意,在步骤7中必须将对应ArcGIS批处理列表中的所有内容都选中,而不仅仅是部分列。复制粘贴操作仅对整个列表有效,而且在ArcGIS批处理列表中仅能按行选择,不能按列或部分连续/不连续单元格选择,所以要这么操作。 完成ArcGIS批处理列表制作后,可以按一下操作按钮中的最下面一个“检查值”,看一下列表中有没有弄错的地方,可以及时修改。如果需要设置操作的环境,可以点下方对话框操作按钮中的“环境”按钮进行设置。 等一切操作完成以后,点下方对话框操作按钮中的“确定”就可以执行这列表中的所有操作了。 使用以上的批处理列表制作方法和利用批处理功能,我仅用一天半的时间就完成了这些数据的处理,得到了想要的结果。
个人分类: 学习|13671 次阅读|6 个评论
ENVI监督分类的功能扩展
热度 2 dongyanqing 2010-11-25 17:55
遥感的监督分类作为一种比较成熟的信息提取方法,应用非常广泛。 在某些实际应用中,比如同一区域同一传感器多幅影像,未进行镶嵌,有时候需要基于一幅影像及感兴趣区(ROI)进行多幅影像的监督分类。 现在的遥感软件ENVIErdas中都无法直接实现,因软件在选取ROI时ROI都是基于被选择影像的,无法在其他影像监督分类时调用。 这个扩展补丁(V1.0)就是为了解决该问题,基于ENVI+IDL实现的。 运行需要系统安装ENVI,双击sav或选择IDLVirtualMachine运行sav文件。 执行程序-sav
个人分类: ENVI|4897 次阅读|1 个评论
用IDL和MATLAB实现好玩的HDF批处理
热度 1 liqin860408 2010-10-5 01:41
针对主被动微波数据:Quikscat/seawinds和AMSR-E 数据来自NSIDC和NASA 程序记得备份整理
个人分类: 未分类|5236 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 14:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部