PS脚本如何定时关机脚本运行? 回答些问题都给200元现金

在linux下怎么让一个脚本定时运行_百度知道
在linux下怎么让一个脚本定时运行
Linux中,周期执行的任务一般由cron这个守护进程来处理
ps -ef | grep cron cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。一、 cron在3个地方查找配置文件(设置shell脚本):1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件就是/var/spool/cron/tom yanggang@barry$ sudo ls -l /var/spool/cron/(或有时是 /var/spool/cron/crontabs/)-rw------- 1 root
crontab -19 17:20 root-rw------- 1 yanggang crontab -24 11:07 yanggang一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里2、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# .---------------- minute (0 - 59) # |
.------------- hour (0 - 23)# |
.---------- day of month (1 - 31)# |
.------- month (1 - 12) OR jan,feb,mar,apr ... # |
.---- day of week (0 - 6) (Sunday=0 or 7)
OR#sun,mon,tue,wed,thu,fri,sat # |
command to be executed例如:*/5 * * * * root /usr/libexec/atrunminute:代表一小时内的第几分,范围 0-59。 hour:代表一天中的第几小时,范围 0-23。 mday:代表一个月中的第几天,范围 1-31。 month:代表一年中第几个月,范围 1-12。 wday:代表星期几,范围 0-7 (0及7都是星期天)。 who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。 command:所要执行的指令。 3、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。二、 权限crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在用法如下: 1、如果两个文件都不存在,则只有root用户才能使用crontab命令。 2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。 3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。 4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。 AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny HP-UNIX 中默认普通用户没得crontab 权限 ,要想放开普通用户的crontab 权限可以编三、 创建cron脚本第一步:写cron脚本文件,命名为crontest.cron。15,30,45,59 * * * * echo &xgmtest.....& && xgmtest.txt
表示,每隔15分钟,执行打印一次命令 第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定 第三步:&crontab -l& 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本四、 cron服务cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。/sbin/service crond start
//启动服务/sbin/service crond stop
//关闭服务/sbin/service crond restart
//重启服务/sbin/service crond reload
//重新载入配置/sbin/service crond status
//查看服务状态 例如: 使用sudo停止与启动服务yanggang@barry$sudo service cron stopcron stop/waitingyanggang@barry$ sudo service cron startcron start/running, process 7502五、 crontab用法 crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格,用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件,/var/spool/cron下的crontab文件不可以直接创建或者直接修改,该crontab文件是通过crontab -e命令创建的在crontab文件中如何输入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands 合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) 除了数字还有几个个特殊的符号就是&*&、&/&与&-&、&,&,*代表所有的取值范围内的数字&/&代表每的意思,&/5&表示每5个单位,&-&代表从某个数字到某个数字,&,&分开几个离散的数字。-l 在标准输出上显示当前的crontab。 -r 删除当前的crontab文件。 -e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。 几个例子: 每天早上6点 0 6 * * * echo &Good morning.& && /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。每两个小时 0 */2 * * * echo &Have a break now.& && /tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点 0 23-7/2,8 * * * echo &Have a good dream& && /tmp/test.txt每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * 1-3 command line1月1日早上4点 0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ 每小时(第一分钟)执行/etc/cron.hourly内的脚本01 * * * * root run-parts /etc/cron.hourly每天(凌晨4:02)执行/etc/cron.daily内的脚本02 4 * * * root run-parts /etc/cron.daily 每星期(周日凌晨4:22)执行/etc/cron.weekly内的脚本22 4 * * 0 root run-parts /etc/cron.weekly 每月(1号凌晨4:42)去执行/etc/cron.monthly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly 注意:
&run-parts&这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。   每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。 5,15,25,35,45,55 16,17,18 * * * command每周一,三,五的下午3:00系统进入维护状态,重新启动系统。00 15 * *1,3,5 shutdown -r +5每小时的10分,40分执行用户目录下的innd/bbslin这个指令: 10,40 * * * * innd/bbslink 每小时的1分执行用户目录下的bin/account这个指令: 1 * * * * bin/account每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔): 203 * * * (/bin/rm -f expire.ls logins.bin/expire$#@62;expire.1st)每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。 12,553 4-91,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt 六、几个问题crond 进程没有运行1. 启动crond进程/etc/init.d/crond start2. 开机自启动crond进程chkconfig crond oncrontab 编辑:输入编辑命令: crontab -e# m h
dom mon dow
commandSHELL=/bin/bash30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.shCtrl + O (写入)——》enter键(保存文件名)——》Ctrl + X(退出) 输入查看命令: crontab -l# m h
dom mon dow
commandSHELL=/bin/bash30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(建议使用此方式)语法错误:Syntax error: &(& unexpected
路径错误:在 /var/spool/crontab/yanggang 中,添加了如下命令,在日志文件 /var/spool/mail/yanggang 中提示找不到 xxx.sh 路径30 * * * *
/home/barry/top800/top10/top10_fruits/top10_all.sh或30 * * * * bash /home/barry/top800/top10/top10_fruits/top10_all.sh这是因为在crontab中使用了绝对路径执行脚本 top10_all.sh,因此在脚本 top10_all.sh 中引用的其它脚本也都需要使用绝对路径,才能被crontab找到并执行如何避免绝对路径复杂的设置呢,如上文 六、几个问题
所示,采用如下格式:30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(建议使用此方式,先进入该目录,然后在执行脚本;否则,执行脚本中的其它脚本都需要加绝对路径)
其他类似问题
为您推荐:
提问者采纳
sbin/local/anacron || ( cd /etc/sbin/t have to run the `crontab&#39:/usr/etc&#47:/bin&#47.hourly25 6
test -x / && run-parts --report /shPATH=/usr/anacron || ( cd /etc/ && run-parts --report /local/usr/usr/ && run-parts --report /cron.SHELL=/bin# m h dom mon dow user
command17 *
cd /sbin&#47.daily )47 6
test -x /sbin.weekly )52 6
test -x &#47:/usr/etc/usr&#47.d; && run-parts --report &#47,# that none of the other crontabs do: system-wide crontab# Unlike any other crontab you don'usr&#47:~# cat /# command to install the new version when you edit this file# and files in /anacron || ( cd &#47:/etc&#47. These files also crontab # &#47:/etc/etc/cron计划任务 crontabroot@ubuntu
来自团队:
其他1条回答
Arch Linux的话默认就会安装。具体的命令和定时设计参考ArchwikiLinux有一个很好的定时任务的软件——Cron,其它发行版可以现在软件库搜一下cron一般可以搜到,说的很清楚,用户必须添加到 users 用户组。为了能够访问这个命令
linux的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&主题:使用PHOTOSHOP脚本自动添加EXIF信息并缩图 —— 精简版
泡网分: 5.661
注册: 2010年05月
搜集了网上使用PHOTOSHOP脚本自动添加EXIF信息并缩图的案例,做了黑框和白框2个精减版本,分享给大家,如需查看注释,请参考此帖第47楼:
脚本原稿是从网上搜集的,我仅做了少量调整。
脚本中个性化的部分是右下角的白字,修改以下引号中的内容,可以改成自己要的文字:
var creator=&FadingNotes&;
脚本使用方法如下:
请将两个“*****”之间的内容拷贝下来,放在记事本里面,文件名存成xxxx.jsx,然后打开PHOTOSHOP,点击【文件】-【脚本】-【浏览】,找到你刚才存的jsx文件,运行就可以了。
你也可以把jsx脚本存在以下目录“C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts”(不同操作系统、PS版本会略有不同),以后就会显示在脚本菜单里了。
********************(不包括本行)**************************
//使用PHOTOSHOP脚本自动添加EXIF信息并缩图(白框)
displayDialogs = DialogModes.NO;
var defaultRulerUnits = preferences.rulerU
preferences.rulerUnits = Units.PIXELS;
function explodeArray(item) {
& & & & var i=0;
& & & & var Count=0;
& & & & var tempString=new String(item);
& & & & tempArray=new Array(1);
& & & & do{
& & & & & & & & i=tempString.indexOf(&:"
& & & & & & & & if(i&0)
& & & & & & & & & & & & tempString=tempString.substr(i+1,tempString.length-i-1);
& & & & & & & & i=tempString.indexOf(&&"
& & & & & & & & if(i&0)& & & & {
& & & & & & & & & & & & tempArray[Count]=tempString.substr(0,i);
& & & & & & & & & & & & tempString=tempString.substr(i+1,tempString.length-i-1);
& & & & & & & & & & & & Count ++;
& & & & & & & & }
& & & & & & & & i=tempString.indexOf(&&"
& & & & & & & & if(i&0) {
& & & & & & & & & & & & tempArray[Count]=tempString.substr(0,i);
& & & & & & & & & & & & tempString=tempString.substr(i-1,tempString.length-i+1);
& & & & & & & & & & & & Count ++;
& & & & & & & & }
& & & & }while (tempString.indexOf(&&/x:xmpmeta&&quot&0);
& & & & tempArray[Count]=tempS
& & & & return tempA
var pResulotion=72;
var AD=&&;
var resRatio=&&;
var imageRatio=&&;
var dateArray1=&&;
var dateArray2=&&;
var monthsArray=&&;
var exposureProgramArray=&&;
var phoDate=&&;
var phoTime=&&;
var photoWidth=&&;
var photoHight=&&;
var exifData=&&;
var black=&&;
var white=&&;
var grey=&&;
var fWidth=&&;
var fHight=&&;
var tSize=&&;
var tLeft=&&;
var tHight=&&;
var infoLayer=&&;
var TI=&&;
nameLayer=&&;
var TN=&&;
var stringTemp=&&;
var make=&&;
var model=&&;
var camera=&&;
var lens=&&;
var lensUsed=&&;
var focalLength=&&;
var exposureTime=&&;
var fNumber=&&;
var ISOSpeedRatings=&&;
var dateTimeOriginal=&&;
var exposureBiasValue=&&;
var exposureProgram=&&;
var fired=&&;
var creator=&FadingNotes&;
AD = activeD
var resizeMax=900;
var resizeMin=600;
if(AD.width.value & 900 || AD.height.value & 900) {
& & & & imageRatio = AD.width.value/AD.height.
& & & & if(imageRatio&1)
& & & & & & & & AD.resizeImage(resizeMax,resizeMin,pResulotion,ResampleMethod.BICUBICSHARPER);
& & & & if(imageRatio==1)
& & & & & & & & AD.resizeImage(resizeMax,resizeMax,pResulotion,ResampleMethod.BICUBICSHARPER);
& & & & if(imageRatio&1)
& & & & & & & & AD.resizeImage(resizeMin,resizeMax,pResulotion,ResampleMethod.BICUBICSHARPER);
resRatio = AD.resolution/pR
if(resRatio!=1){
& & & & AD.resizeImage(AD.width.value,AD.height.value,pResulotion);
photoWidth = AD.width.
photoHight = AD.height.
exifData = AD.xmpMetadata.rawData.toString();
explodeArray(exifData);
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureTime&quot!=-1){
& & & & & & & & exposureTime = tempArray[n+1];
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&FNumber&quot!=-1){
& & & & & & & & fNumber = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureProgram&quot!=-1){
& & & & & & & & exposureProgram = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureBiasValue&quot!=-1){
& & & & & & & & exposureBiasValue = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Fired&quot!=-1){
& & & & & & & & fired = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&DateTimeOriginal&quot!=-1){
& & & & & & & & dateTimeOriginal = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(tempArray[n]==&FocalLength&){
& & & & & & & & focalLength = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ISOSpeedRatings&)!=-1){
& & & & & & & & ISOSpeedRatings = &ISO &+tempArray[n+5];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(tempArray[n]==&Lens&){
& & & & & & & & lens=tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Make&)!=-1){
& & & & & & & & make = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Model&)!=-1){
& & & & & & & & var model = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&creator&)!=-1 && creator==&&){
& & & & & & & & creator = tempArray[n+5];
& & & & & & & &
dateArray1 = exposureTime.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
dateArray1 = fNumber.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
& & & & fNumber=i/j;
& & & & fNumber=i;
dateArray1 = exposureBiasValue.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
exposureBiasValue=i/j;
if(exposureBiasValue!=0)
& & & & exposureBiasValue=parseInt(exposureBiasValue*100)/100;
if (exposureBiasValue & 0)
& & & & exposureBiasValue=&+&+exposureBiasV
exposureProgramArray = [&Not Defined&,
& & & & &Manual&,
& & & & &Normal Program&,
& & & & &Aperture Priority&,
& & & & &Shutter Priority&,
& & & & &Creative Program&,
& & & & &Action Program&,
& & & & &Portrait Mode&,
& & & & &Landscape Mode&];
exposureProgram = exposureProgramArray[exposureProgram];
dateArray1 =
if(dateArray1.indexOf(&True&)!=-1)
& & & & fired=&FlashOn&;
& & & & fired=&FlashOff&;
dateArray1 = focalLength.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
& & & & focalLength=parseInt(i/j);
& & & & focalLength=i;
dateArray1 = dateTimeOriginal.split(&T&);
phoDate = dateArray1[0];
phoTime = dateArray1[1];
dateArray2 = phoDate.split(&-&);
monthsArray =[&January&,
& & & & &February&,
& & & & &March&,
& & & & &April&,
& & & & &May&,
& & & & &June&,
& & & & &July&,
& & & & &August&,
& & & & &September&,
& & & & &October&,
& & & & &November&,
& & & & &December&];
dateArray2 = phoTime.split(&+&);
phoTime = dateArray2[0];
if(lens != &&) {
& & & & if(lens.indexOf(&15.0-85.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 15-85mm f/3.5-5.6 IS USM&;
& & & & if(lens.indexOf(&70.0-200.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 70-200mm F4L USM&;
& & & & if(lens.indexOf(&85.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 85mm F1.8 USM&;
& & & & if(lens.indexOf(&50mm&)!=-1)
& & & & & & & & lens = &Sigma AF 50/1.4 EX DG HSM&;
& & & & var focLength=parseInt(focalLength);
& & & & if(focLength&=15 && focLength&=85)
& & & & & & & & lensUsed = &Canon 15-85mm f/3.5-5.6 IS USM&;
& & & & if(focLength&=70 && focLength&=200)
& & & & & & & & lensUsed = &Canon 70-200mm F4L USM&;
& & & & if(focLength==&85&)
& & & & & & & & lensUsed = &Canon 85mm F1.8 USM&;
& & & & if(focLength==&100&)
& & & & & & & & lensUsed = &Canon Macro 100mm F2.8 USM&;
black = new SolidColor();
black.rgb.red = black.rgb.green = black.rgb.blue = 0;
white = new SolidColor();
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
grey = new SolidColor();
grey.rgb.red = grey.rgb.green = grey.rgb.blue = 50;
backgroundColor =
AD.resizeCanvas(AD.width.value+2,AD.height.value+2,AnchorPosition.MIDDLECENTER);
backgroundColor =
fWidth = parseInt(photoWidth/40);
fHight = parseInt(photoWidth/40);
AD.resizeCanvas(AD.width.value+fWidth/2,AD.height.value+fHight/2, AnchorPosition.MIDDLECENTER);
AD.resizeCanvas(AD.width.value,AD.height.value+fHight*1.5,AnchorPosition.TOPCENTER);
nameLayer = AD.artLayers.add();
nameLayer.kind = LayerKind.TEXT;
TN = nameLayer.textI
TN.contents =
TN.font = &STXingkai&;
TN.justification = Justification.RIGHT;
tSize = parseInt((fWidth+10)/2);
tLeft = photoW
tHight = photoHight-fHight+tS
TN.position = [tLeft,tHight];
TN.size = tSize+25;
TN.color =
TN.fauxBold =
infoLayer = AD.artLayers.add();
infoLayer.kind = LayerKind.TEXT;
TI = infoLayer.textI
TI.justification = Justification.RIGHT;
tHight = photoHight+fHight+tS
TI.position = [tLeft,tHight-15];
TI.contents = &Date / Time: &+phoDate+&&&/&&&+phoT
TI.contents = TI.contents+&\u000D&+camera+&,&&&+lens+&@&+focalLength+&mm&+&,&&&+exposureTime+&Sec,&&F/&+fNumber+&,&&EV&+exposureBiasValue+&,&&&+ISOSpeedRatings+&,&&&+exposureProgram+&,&&&+
TI.font = &Century&;
TI.size = tSize*0.8;
TI.color =
TI.fauxBold =
AD.flatten();
********************(不包括本行)**************************
微信扫一扫分享
&浏览:16799&&回帖:144 &&
泡网分: 0.302
注册: 2014年07月
本帖由 iPad Air (wifi) 客户端发布
泡网分: 0.001
注册: 2014年02月
lz,改变白框大小怎么改啊
泡网分: 31.432
注册: 2002年05月
排版文字略作修改
泡网分: 31.432
注册: 2002年05月
直接下了个【乐山乐水】的脚本,把信息和镜头填写一哈,几分钟搞定了。
下载地址:.cn/s/blog_538ecd8201017ucs.html
泡网分: 0.367
注册: 2012年10月
jsp还能干这样的活啊,一直以来就以为是写web页面的呢。
泡网分: 0.006
注册: 2010年12月
sqlite 发表于
帮楼主回答你,加入测光方式(在第二行最后):
//-------------
displayDialogs = DialogModes.NO;
var defaultRulerUnits = preferences.rulerU
preferences.rulerUnits = Units.PIXELS;
//将一个长字串分解成单个字符串
function explodeArray(item) {
& & & & var i = 0;
& & & & var Count = 0;
& & & & var tempString = new String(item);
& & & & tempArray = new Array(1);
& & & & do {
& & & & & & & & i = tempString.indexOf(&:&);
& & & & & & & & if (i & 0)
& & & & & & & & & & & & tempString = tempString.substr(i+1, tempString.length-i-1);
& & & & & & & & i = tempString.indexOf(&&&);感谢,还配有语句作用说明,很有心。
泡网分: 0.006
注册: 2010年12月
感谢分享,看来也该学点Javascript了...
泡网分: 47.344
帖子: 4470
注册: 2002年03月
成功,庆祝一下。
泡网分: 22.425
注册: 2004年10月
GPS都完善上去&&不错
本帖由移动终端发布
泡网分: 17.966
帖子: 2800
注册: 2008年07月
问一问:为什么我添加了这个边框后,图像的边长就变成了1024?比如:我的图片边长是1200,但添加这个边框后边长就变成了1024? 本帖最后由 002233LXY 于
14:06 编辑
泡网分: 0.892
注册: 2011年12月
看这里,这个脚本我觉得很不错了:
泡网分: 106.369
精华: 16帖子: 30084
注册: 2006年06月
收藏一下,谢谢楼主!
泡网分: 25.515
注册: 2003年09月
谢谢你哦,我弄下来试试!!!
逸之 发表于
//--------------------------------gps变量说明------------------------------
&&var GPSLatitude& && && &= &&;& && && && && &//GPS纬度
& & var GPSLongitude& && && &= &&;& && && && &&&//GPS经度
& & var GPSAltitude& && &&&= &&;& && && && && & //GPS高度
//--------------------------gps数据读取------------------------------------
& &//gps纬度
& & & & for(n = 0; n & tempArray. n ++)
& & & & & & & & stringTemp = tempArray[n];
& & & & & & & & if(stringTemp.indexOf(&GPSLatitude&) != -1)
& & & & & & & & {
& & & & & & & & & & & & GPSLatitude = tempArray[n+1];
& & & & & & & & & & & &
& & & & & & & & }
GPSLatitude=&&&&+GPSL
泡网分: 17.966
帖子: 2800
注册: 2008年07月
泡网分: 65.31
精华: 1帖子: 14442
注册: 2005年05月
//--------------------------------gps变量说明------------------------------
&&var GPSLatitude& && && &= &&;& && && && && &//GPS纬度
& & var GPSLongitude& && && &= &&;& && && && &&&//GPS经度
& & var GPSAltitude& && &&&= &&;& && && && && & //GPS高度
//--------------------------gps数据读取------------------------------------
& &//gps纬度
& & & & for(n = 0; n & tempArray. n ++)
& & & & & & & & stringTemp = tempArray[n];
& & & & & & & & if(stringTemp.indexOf(&GPSLatitude&) != -1)
& & & & & & & & {
& & & & & & & & & & & & GPSLatitude = tempArray[n+1];
& & & & & & & & & & & &
& & & & & & & & }
GPSLatitude=&&&&+GPSL
& & //gps经度
& & & & for(n = 0; n & tempArray. n ++)
& & & & & & & & stringTemp = tempArray[n];
& & & & & & & & if(stringTemp.indexOf(&GPSLongitude&) != -1)
& & & & & & & & {
& & & & & & & & & & & & GPSLongitude = tempArray[n+1];
& & & & & & & & & & & &
& & & & & & & & }
&&//gps高度
& & & & for(n =0; n & tempArray. n ++)
& & & & & & & & stringTemp = tempArray[n];
& & & & & & & & if(stringTemp.indexOf(&GPSAltitude&) != -1)
& & & & & & & & {
& & & & & & & & & & & & GPSAltitude= tempArray[n+5];
& & & & & & & & & & & &
& & & & & & & & }
//--------------------gps数据读取完毕---------------------------
//整理gps高度值
dateArray1 = GPSAltitude.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
GPSAltitude=i/j;
GPSAltitude=i;
GPSAltitude=&& && &&+GPSAltitude+&h&;
GPSLatitude=GPSLatitude+&&&&+GPSLongitude+GPSA
TI.contents = camera+& with &+lensUsed+& @ &+focalLength+&mm &+exposureProgram+& &+exposureTime+&s f/&+fNumber+&&&&+exposureBiasValue+&EV &+ISOSpeedRatings+& &+Fired+&&&&+phoDate+& &+/*gpsd打印*/ GPSL
泡网分: 65.31
精华: 1帖子: 14442
注册: 2005年05月
泡网分: 65.31
精华: 1帖子: 14442
注册: 2005年05月
在三种变形的脚本上改了改,加上了gps,缺一个gps高度,需要排版。弄好了再给大家分享。
泡网分: 22.425
注册: 2004年10月
不错的脚本
本帖由移动终端发布
泡网分: 65.31
精华: 1帖子: 14442
注册: 2005年05月
严富贵 发表于
请问如果加入GPS的经纬度信息的话,脚本应该如何修改呢(照片的exif中已经有经纬度信息)可以的,增加一组exif信息读取。需要点时间。
泡网分: 25.515
注册: 2003年09月
请问如果加入GPS的经纬度信息的话,脚本应该如何修改呢(照片的exif中已经有经纬度信息)
mm582185 发表于
搜集了网上使用PHOTOSHOP脚本自动添加EXIF信息并缩图的案例,做了黑框和白框2个精减版本,分享给大家,如需查看注释,请参考此帖第47楼:
脚本原稿是从网上搜集的,我仅做了少量调整。
脚本中个性化的部分是右下角的白字,修改以下引号中的内容,可以改成自己要的文字:
var creator=&FadingNotes&;
脚本使用方法如下:
请将两个“*****”之间的内容拷贝下来,放在记事本里面,文件名存成xxxx.jsx,然后打开PHOTOSHOP,点击【文件】-【脚本】-【浏览】,找到你刚才存的jsx文件,运行就可以了。
你也可以把jsx脚本存在以下目录“C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts”(不同操作系统、PS版本会略有不同),以后就会显示在脚本菜单里了。
********************(不包括本行)**************************
//使用PHOTOSHOP脚本自动添加EXIF信息并缩图(白框)
displayDialogs = DialogModes.NO;
var defaultRulerUnits = preferences.rulerU
preferences.rulerUnits = Units.PIXELS;
function explodeArray(item) {
& & & & var i=0;
泡网分: 5.661
注册: 2010年05月
找到原因了,很多括号只由一边!自己慢慢加吧!
楼主害死人呐!冤枉啊,无忌自动把英文双引号后面的右括号改成笑脸了,复制粘贴后又不还原,这可怎么办呢?我再把我现在常用的一个脚本贴在下面(白框版本,长宽比为3:2,生成横图大小为,纵图大小为684*1064----因为带框),请大家评测:
****************不包括本行***********************
//----感谢原作者,色影无忌用户mm582185修订,请色友评测----
//----白框版本,长宽比为3:2,生成横图大小为,纵图大小为684*1064(因为带框)----
displayDialogs = DialogModes.NO;
var defaultRulerUnits = preferences.rulerU
preferences.rulerUnits = Units.PIXELS;
function explodeArray(item) {
& & & & var i=0;
& & & & var Count=0;
& & & & var tempString=new String(item);
& & & & tempArray=new Array(1);
& & & & do{
& & & & & & & & i=tempString.indexOf(&:&);
& & & & & & & & if(i&0)
& & & & & & & & & & & & tempString=tempString.substr(i+1,tempString.length-i-1);
& & & & & & & & i=tempString.indexOf(&&&);
& & & & & & & & if(i&0)& & & & {
& & & & & & & & & & & & tempArray[Count]=tempString.substr(0,i);
& & & & & & & & & & & & tempString=tempString.substr(i+1,tempString.length-i-1);
& & & & & & & & & & & & Count ++;
& & & & & & & & }
& & & & & & & & i=tempString.indexOf(&&&);
& & & & & & & & if(i&0) {
& & & & & & & & & & & & tempArray[Count]=tempString.substr(0,i);
& & & & & & & & & & & & tempString=tempString.substr(i-1,tempString.length-i+1);
& & & & & & & & & & & & Count ++;
& & & & & & & & }
& & & & }while (tempString.indexOf(&&/x:xmpmeta&&)&0);
& & & & tempArray[Count]=tempS
& & & & return tempA
var pResulotion=72;
var AD=&&;
var resRatio=&&;
var imageRatio=&&;
var dateArray1=&&;
var dateArray2=&&;
var monthsArray=&&;
var exposureProgramArray=&&;
var phoDate=&&;
var phoTime=&&;
var photoWidth=&&;
var photoHight=&&;
var exifData=&&;
var black=&&;
var white=&&;
var grey=&&;
var fWidth=&&;
var fHight=&&;
var tSize=&&;
var tLeft=&&;
var tHight=&&;
var infoLayer=&&;
var TI=&&;
nameLayer=&&;
var TN=&&;
var stringTemp=&&;
var make=&&;
var model=&&;
var camera=&&;
var lens=&&;
var lensUsed=&&;
var focalLength=&&;
var exposureTime=&&;
var fNumber=&&;
var ISOSpeedRatings=&&;
var dateTimeOriginal=&&;
var exposureBiasValue=&&;
var exposureProgram=&&;
var fired=&&;
var creator=&FadingNotes&;& & & & //拍摄者、图内标字或版权
AD = activeD
var resizeMax=1020;
var resizeMin=680;
if(AD.width.value & 1020 || AD.height.value & 1020) {
& & & & imageRatio = AD.width.value/AD.height.
& & & & if(imageRatio&1)
& & & & & & & & AD.resizeImage(resizeMax,resizeMin,pResulotion,ResampleMethod.BICUBICSHARPER);
& & & & if(imageRatio==1)
& & & & & & & & AD.resizeImage(resizeMax,resizeMax,pResulotion,ResampleMethod.BICUBICSHARPER);
& & & & if(imageRatio&1)
& & & & & & & & AD.resizeImage(resizeMin,resizeMax,pResulotion,ResampleMethod.BICUBICSHARPER);
resRatio = AD.resolution/pR
if(resRatio!=1){
& & & & AD.resizeImage(AD.width.value,AD.height.value,pResulotion);
photoWidth = AD.width.
photoHight = AD.height.
exifData = AD.xmpMetadata.rawData.toString();
explodeArray(exifData);
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureTime&)!=-1){
& & & & & & & & exposureTime = tempArray[n+1];
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&FNumber&)!=-1){
& & & & & & & & fNumber = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureProgram&)!=-1){
& & & & & & & & exposureProgram = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ExposureBiasValue&)!=-1){
& & & & & & & & exposureBiasValue = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Fired&)!=-1){
& & & & & & & & fired = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&DateTimeOriginal&)!=-1){
& & & & & & & & dateTimeOriginal = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(tempArray[n]==&FocalLength&){
& & & & & & & & focalLength = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&ISOSpeedRatings&)!=-1){
& & & & & & & & ISOSpeedRatings = &ISO &+tempArray[n+5];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(tempArray[n]==&Lens&){
& & & & & & & & lens=tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Make&)!=-1){
& & & & & & & & make = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&Model&)!=-1){
& & & & & & & & var model = tempArray[n+1];
& & & & & & & &
for(n = 0; n & tempArray. n ++) {
& & & & stringTemp=tempArray[n];
& & & & if(stringTemp.indexOf(&creator&)!=-1 && creator==&&){
& & & & & & & & creator = tempArray[n+5];
& & & & & & & &
dateArray1 = exposureTime.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
& & & & exposureTime=parseInt(i/j)+&.&+(i-parseInt(i/j)*j);
& & & & j=parseInt(j/i);
& & & & i=1;
& & & & exposureTime=i+&/&+j;
dateArray1 = fNumber.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
& & & & fNumber=i/j;
& & & & fNumber=i;
dateArray1 = exposureBiasValue.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
exposureBiasValue=i/j;
if(exposureBiasValue!=0)
& & & & exposureBiasValue=parseInt(exposureBiasValue*100)/100;
if (exposureBiasValue & 0)
& & & & exposureBiasValue=&+&+exposureBiasV
exposureProgramArray = [&Not Defined&,
& & & & &Manual&,
& & & & &Normal Program&,
& & & & &Aperture Priority&,
& & & & &Shutter Priority&,
& & & & &Creative Program&,
& & & & &Action Program&,
& & & & &Portrait Mode&,
& & & & &Landscape Mode&];
exposureProgram = exposureProgramArray[exposureProgram];
dateArray1 =
if(dateArray1.indexOf(&True&)!=-1)
& & & & fired=&FlashOn&;
& & & & fired=&FlashOff&;
dateArray1 = focalLength.split(&/&);
i = dateArray1[0];
j = dateArray1[1];
& & & & focalLength=parseInt(i/j);
& & & & focalLength=i;
dateArray1 = dateTimeOriginal.split(&T&);
phoDate = dateArray1[0];
phoTime = dateArray1[1];
dateArray2 = phoDate.split(&-&);
monthsArray =[&January&,
& & & & &February&,
& & & & &March&,
& & & & &April&,
& & & & &May&,
& & & & &June&,
& & & & &July&,
& & & & &August&,
& & & & &September&,
& & & & &October&,
& & & & &November&,
& & & & &December&];
dateArray2 = phoTime.split(&+&);
phoTime = dateArray2[0];
if(lens != &&) {
& & & & if(lens.indexOf(&15.0-85.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 15-85mm f/3.5-5.6 IS USM&;
& & & & if(lens.indexOf(&70.0-200.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 70-200mm F4L USM&;
& & & & if(lens.indexOf(&85.0 mm&)!=-1)
& & & & & & & & lensUsed = &Canon 85mm F1.8 USM&;
& & & & if(lens.indexOf(&50mm&)!=-1)
& & & & & & & & lens = &Sigma AF 50/1.4 EX DG HSM&;
& & & & var focLength=parseInt(focalLength);
& & & & if(focLength&=15 && focLength&=85)
& & & & & & & & lensUsed = &Canon 15-85mm f/3.5-5.6 IS USM&;
& & & & if(focLength&=70 && focLength&=200)
& & & & & & & & lensUsed = &Canon 70-200mm F4L USM&;
& & & & if(focLength==&85&)
& & & & & & & & lensUsed = &Canon 85mm F1.8 USM&;
& & & & if(focLength==&100&)
& & & & & & & & lensUsed = &Canon Macro 100mm F2.8 USM&;
black = new SolidColor();
black.rgb.red = black.rgb.green = black.rgb.blue = 0;
white = new SolidColor();
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
grey = new SolidColor();
grey.rgb.red = grey.rgb.green = grey.rgb.blue = 50;
backgroundColor =
AD.resizeCanvas(AD.width.value+4,AD.height.value+4,AnchorPosition.MIDDLECENTER);
backgroundColor =
fWidth = parseInt(photoWidth/40);
fHight = parseInt(photoWidth/40);
AD.resizeCanvas(AD.width.value,AD.height.value+fHight/2, AnchorPosition.MIDDLECENTER);
AD.resizeCanvas(AD.width.value,AD.height.value+fHight*1.8,AnchorPosition.TOPCENTER);
nameLayer = AD.artLayers.add();
nameLayer.kind = LayerKind.TEXT;
TN = nameLayer.textI
TN.contents =
TN.font = &STXingkai&;& &//此处可以修改照片内文字的字体
TN.justification = Justification.RIGHT;
tSize = parseInt((fWidth+10)/2);
tLeft = photoW
tHight = photoHight-fHight+tS
TN.position = [tLeft,tHight];
TN.size = tSize+25;
TN.color =
TN.fauxBold =
infoLayer = AD.artLayers.add();
infoLayer.kind = LayerKind.TEXT;
TI = infoLayer.textI
TI.justification = Justification.RIGHT;
tHight = photoHight+fHight+tS
TI.position = [tLeft,tHight-15];
TI.contents = &Date / Time: &+phoDate+&&&/&&&+phoT
TI.contents = TI.contents+&\u000D&+camera+&,&&&+lens+&@&+focalLength+&mm&+&,&&&+exposureTime+&Sec,&&F/&+fNumber+&,&&EV&+exposureBiasValue+&,&&&+ISOSpeedRatings+&,&&&+exposureProgram+&,&&&+
TI.font = &Century&;
TI.size = tSize*0.9;
TI.color =
TI.fauxBold =
AD.flatten();
****************不包括本行***********************
泡网分: 0.026
注册: 2012年01月
美门半生 发表于
lz给的语法并不规范...我自己修改了很多,运行可以了...
自己动手吧..免费的饭不好吃...---------------------
找到原因了,很多括号只由一边!自己慢慢加吧!
楼主害死人呐!
泡网分: 30.357
精华: 1帖子: 4161
注册: 2004年10月
jichelgao 发表于
楼主 看看什么原因?lz给的语法并不规范...我自己修改了很多,运行可以了...
自己动手吧..免费的饭不好吃...
泡网分: 2.47
帖子: 1820
注册: 2011年09月
这个要顶一下
泡网分: 0.026
注册: 2012年01月
楼主 看看什么原因?
泡网分: 0.048
注册: 2011年12月
谢谢楼主。
泡网分: 0.011
注册: 2012年02月
以后肯定用得到,mark一下
泡网分: 21.217
注册: 2005年04月
本帖由移动终端发布
泡网分: 16.308
帖子: 1292
注册: 2007年04月
现在有LR,配合LR/Mogrify 2,用不着这么累了&&
泡网分: 0.173
注册: 2011年07月
Mark一下,以后用的上,嘿嘿!
&版权所有:&&桂ICP备号&增值电信业务经营许可证}

我要回帖

更多关于 天龙八部脚本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信