万般状态下,进入Windows界面此前都有一个记名进度,怎么着在签到前让系统实施脚本呢?上面介绍一种方法。

Windows中落到实处不借助于账户登录的开机启动程序,不依靠账

在Windows中许多的任务,大家意在可以在Windows
启动将来自动运行。举个例子,公司有个订饭系统,基本天天都须要报到去订饭,于是写一个本子达成机关订饭。不过您的电脑每日要关机,当然不期望开机后还亟需手动运行那些订饭脚本了。于是此时大家要将其那种本子落成为开机自动启动脚本。
但要注意本文要讲的开机启动的次序,是在用户还尚无登录的情形下促成启动的。换句话说,本文描述的开机启动的程序运行在Session
0中
首要介绍了3中艺术, 我们可以挑选合适的法门去完成。

第十二章 非常和错误处理
||| 附录B
两个常用Python处理义务

自我直接利用firefox和thunderbird作为WWW浏览器和电子邮件客户端,在上马利用openSUSE然后,肯定是希望把那四个软件升级到最新版本的。纵然不自然非要最新版本,但我更期待多了然一些在Linux软件到底是怎么设置和配备的。突然间好像回到了1999年祥和刚买回新PC学习
Win98使用的那段日子。

1.开辟组策略,在Run(运行)中输入GREDIT.MSC,点击确认。

Windows Service

当Windows
启动的时候,还尚无登录账号的时候,此时Windows中安装为auto状态的瑟维斯(Service)(Service)将会在Session 0中运作。可以依照如下步骤去贯彻Windows 瑟维斯(Service)(Service):

  1. 假诺还尚未落实过Windows Service(Service) 程序的同班,可以参见那篇文章《Simple
    Windows 瑟维斯(Service) in C++》去达成。
  2. 由此命令行成立瑟维斯(Service), 紧要注意start= auto设置瑟维斯(Service)(Service)为开机启动。

    sc create “SERVICE_NAME” binpath= “SERVICE_PROGRAM” displayname= “SERVICE_DESCRIPTION” start= auto


OK,言归正传。

澳门金沙国际 1

Windows Startup Script

依照如下步骤:

  1. 打开当地的组策略管理,运行命令gpedit
    2.
    然后挨家挨户打开Computer Configuration->Windows Settings->Scripts->
    Startup, 在Startup中配置须求开机启动的脚本或者程序。
    在机械中的配置,我们都尽量的梦想自动化,于是希望通过脚本来落成那几个动作。可惜没有CMD
    命令可以平昔动用那种形式添加启动程序,后来博主搜索了部分方法,有经过一贯改动注册表的、也有经过vb脚本去落到实处的,但这一个措施个人认为还不够直接,不难。
    于是博主找到了接下去要说的章程,通过Windows定时义务管理器。

俺们将在本章介绍以下案例:

可以到
下载那三个软件的Linux下的时尚版本,都是tar.gz格式的二进制文件,直接解压就足以运作,解压缩没怎么好讲的。

2.挨家挨户点击Computer Configuration -> Windows Settings ->
Scripts(Startup/Shutdown)

Windows Schedule Task

Windows定时任务管理器,提供了精锐的法力:可以定时的执行职务,除了根据时间去触发定时职务,其还提供了开机启动触及程序运行的效能,你可以经过图形界面的章程布置,也可以透过命令方式:

  • 次第打开Control Panel->Administrative Tools->Task Scheduler,然后再里面新建自己的天职。主要注意以下两点:
    • 职务运行的账号选成”System”
    • 触发器中,采取At Startup触发器
  • 使用如下命令行:

schtasks /create /TN "TASK_NAME" /RU SYSTEM /SC ONSTART /TR "TASK_PROGRAM"
  • 经过命令行执行Python脚本
  • 使用sys.argv[]抓获命令行输入参数
  • 将Python脚本添加到批处理公事
  • 创造义务布置

shell> tar zxvf firefox-2.0.0.3.tar.gz
shell> tar zxvf thunderbird-2.0b2.tar.gz

澳门金沙国际 2


此处要专注的是,firefox和thunderbird的“执行文书”都是其解压后主目录中的脚本文件,文件名分别是firefox和thunderbird。

3.在左侧双击Stratup,出现如图弹窗,可在此添加cmd或者PowerShell脚本。

引言

Python脚本既能够在ArcGIS运行条件外以单独脚本的形式来运转,也得以在ArcGIS运行条件内以脚本工具的款式来运作。二种方法都有分其余利害。到方今停止,所有的台本都是在ArcGIS环境中以脚本工具形式或在Python开发环境IDLE以及ArcGIS内的Python窗口来推行。不过,Python脚本同样可以通过Windows操作系统命令行情势来施行。那种实践Python脚本的章程对于制定脚本执行职分安顿以来是充裕有效的。制定脚本执行义务陈设有多少个方面的来头,一是不可胜言地理处理脚本的运行需求消耗很长日子一般都是安排在非工作时间来实施。别的,有一些本子需求定时定期(天天,周周甚至每月)执行,有时候也是出于功效考虑。在本章中,你将学习怎么着通过命令行来施行Python脚本,将脚本添加到批处理公事中以及在指定时间来实施脚本。必要留意一点,由于代码中需求调用arcpy模块,所有通过的命令行来推行的本子仍旧须求得到ArcGIS桌面软件的许可。

我的桌面使用的是KDE,接下去自己讲一下怎么样创设桌面迅速格局。

澳门金沙国际 3

因此命令行执行Python脚本

到近期停止,本书中持有的Python脚本要么在ArcGIS环境中以脚本工具方式举行,要么在Python开发条件中履行。Windows命令行为您提供了此外一种运行Python脚本的措施。命令提醒窗口主要以批处理文件或职责布署的艺术来施行脚本。

一、thunderbird

4.点击确认

Getting ready

在命令提醒窗口中实施Python地理处理脚本有三个方面的优势。那么些本子可以配备在清闲时间实施以取得更高的频率,同时也有利于利用Python自带的错误处理和调试功效来拓展调试代码。
在本案例中,你将学习怎么样接纳Windows命令提示符来运行Python脚本。你需求获得管理员权限来完开支案例,由此你可能须求互换新闻技术帮助部门来修改权限。

1、在桌面上点击鼠标右键,在弹出的菜单中选取“Create New -> Link to
Appliacation…”。
2、在页签“Greneral”中的文本输入框内设置飞快情势的名字,如“ThunderBird”。
3、点击输入框左边的齿轮状按钮(图标),弹出图标设置窗口,拔取单选按钮“other
icons”,点击由disable变为enable状态的按钮“Browse…”,选拔“/usr/local/thunderbird2/icons/mozicon50.xpm”图标文件,点击按钮“open”重回前一窗口。
4、在页签“Application”中的“Command”文本输入框内,填写thunderbird执行脚本的上上下下径名,如
“/usr/local/thunderbird2/thunderbird”。(注意,不必要引号,假诺经过文件浏览窗口选拔程序,会自行添加上半角双引号)
5、点击按钮“OK”达成安装并关闭窗口。

重启,在下次报到Windows界面前,系统会自动执行所增进的剧本。

How to do it…

依照以下步骤来上学怎样通过Windows命令提醒符来执行脚本:
1.Windows中点击始于|所有程序|附件|命令提醒符
(Start|All Programs|Accessories|Command
Prompt)
,弹出一个近乎于下图的窗口:

澳门金沙国际 4

窗口中会突显当前目录。你的目录路径会有些差异。大家来改变当前目录。
2.输入cd C:\ArcpyBook\Appendix1.
3.输入dir来查阅该目录下的文本和子文件夹。你会看出只有一个叫作ListFields.py的Python文件。

澳门金沙国际 5

4.您要求肯定Python解释器可以实施。点击初阶|所有程序|附件|系统工具|控制面板(Start|All
Programs|Accessories|System Tools|Control Panel)

澳门金沙国际 6

5.点击系统与梧州(System and Security)
6.点击系统(System)
7.点击高级系统设置(Advanced system settings)
【澳门金沙国际】Windows中落到实处不依靠账户登录的开机启动程序,登录Windows界面前执行自定义脚本。8.在系统性能(System
Properties)
对话框中,如下图所示选用高级(Advanced)选项卡,点击环境变量(Enviroment
Variables)
按钮:

澳门金沙国际 7

9.安分守纪下图所示找到Path系统变量,然后点击编辑(Edit)按钮。

澳门金沙国际 8

10.查看C:\Python27\ArcGIS10.1索引字符串(按照个体景况修改路径)。如果没有找到该字符串,添加到最末尾。确保该路线前添加分号分隔符。现在当你在命令提醒符中输入python后,系统就会招来Path系统变量中的每一个目录中寻觅一个可执行文件python.exe。

澳门金沙国际 9

11.点击确认(OK)按钮关闭编纂系统变量(Edit System
Variable)
对话框。
12.点击确认(OK)按钮关闭环境变量(Enviroment
Variables)
对话框。
13.点击确认(OK)按钮关闭系统特性(System Properties)对话框。
14.重返命令行提醒符窗口。
15.输入python ListFields.py。系统就会运作ListFields.py本子。等待一小会后,你会看到如下结果:

澳门金沙国际 10

好了,可以点击桌面上的飞速格局看看是或不是足以健康启动thunderbird程序了。

 

How it works…

案例中采纳的ListFields.py脚本会列出Burglaries_2009.shp文件中的属性字段。工作空间路径和shapefile文件名称在剧本中都通过硬编码处理。输入python后输入脚本名称,在此案例中是ListFields.py,会触发python解释器来运作该脚本。在下一个案例中,你将学习怎么样将参数传递给脚本,那样就可以移除脚本中的硬编码来让剧本尤其灵敏。

二、firefox

使用sys.argv[]破获命令行输入参数

本子中不利用硬编码的格局来指定数量集路径,脚本通过接受命令提示符中输入的参数来施行拍卖任务,那将使得脚本更享有灵活性。这几个输入参数可以行使Python中的sys.argv[]对象来捕获。

一般景况KDE或GNOME都会默许安装firefox,因而桌面上或程序菜单中或许已经有firefox的快速形式了。
那就是说大家就介绍一下哪些改变现有的快捷形式。

Getting ready

Python中的sys.argv[]目的允许脚本在推行进度中接受命令行传递的输入参数。如下图所示的例证很好地证实了这一行事体制:

澳门金沙国际 11

每一个参数都用空格隔开。那些参数都封存在一个sys.argv[]的列表对象中。使用索引值0来引用sys.argv[]列表中的首个因素,即脚本名称。在该案例中脚本名叫做ListFields.py。依次使用递增的整数索引值来引用后续的元素。因而,第三个参数(C:\ArcpyBook\data)保存在sys.argv[1]中,首个参数(Burglaries.shp)保存在sys.argv[2]中。每一个sys.argv[]列表对象中的参数都得以在地理处理脚本中得到并应用。在此案例中,你须求修改ListFields.py剧本文件来接受命令行输入的参数。

1、确认当前连忙格局指向的firefox执行脚本

How to do it…

遵循以下步骤来创制一个采用sys.argv[]来接受命令行中输入的参数的剧本:
1.在IDLE中打开C:\ArcpyBook\Appendix1\ListFields.py文件。
2.导入sys模块:

import arcpy,sys

3.创建一个变量来保存工作空间参数:

wkspace = sys.argv[1]

4.成立一个变量来保存要素类参数:

fc = sys.argv[2]

5.创新设置工作空间路径以及调用ListFields()函数的有关代码:

arcpy.env.workspace = wkspace
fields = arcpy.ListFields(fc)

完整代码如下:

imprt arcpy,sys
wkspace = sys.argv[1]
fc = sys.argv[2]
try:
    arcpy.env.workspace = wkspace
    fields = arcpy.ListFields(fc)
    for fld in fields:
        print fld.name
except:
    print arcpy.GetMessages()

6.保留脚本。
7.打开命令提醒符窗口,更改当前目录至C:\ArcpyBook\Appendix1
8.在指令提醒符窗口中,输入以下命令后按下Enter键:

python ListFields.py C:\ArcpyBook\data Burglaries_2009.shp

9.您会再五次见到Burglaries.shp文件中属性字段的细节音讯。差距之处在于您的本子不再须要硬编码工作空间路径和因素类名称。脚本现在得以列出任何要素类的性质字段。

在firefox神速格局的Properties窗口中的Application页签中的Command文本输入框内填写的就是firefox的施行脚本。一般情况下它的值是“firefox
%u”,那阐明它执行了系统默许执行文书路径下的名为firefox的举行脚本。

How it works…

sys模块中包罗了一个argv[]的列表对象,该目的用于保存在命令行情势下执行Python脚本的输入参数。列表中的第二个元素是本子名称。由此,在此案例中sys.argv[0]包含了ListFields.py文本。工作空间和因素类参数分别保存在sys.argv[1]sys.argv[2]中。那个输入参数赋值给变量在本子中选择。

shell> which firefox
/usr/bin/firefox

添加Python脚本至批处理公事

澳门金沙国际 ,即使要在指定的时间实施Python脚本,你必要创制一个包涵一个或七个剧本文件,要求景况下还足以分包操作系统命令的批处理文件。批处理文件可添加到Windows系统的任务布署中在指定的时光内执行。

经过which命令找到firefox文件的具体地点,接下去的行事就是冯谖三窟了。

Getting ready

批处理公事是一个文本文件,该文件中富含有履行脚本的授命行代码或操作系统执行命令。批处理公事的恢弘名为.bat,Windows将其身为可实施的文本。由于批处理文件中只含有有发号施令行代码,因而得以选用任何一个文书编辑器来编排,固然如此大家依旧提议您拔取像记事本(Notepad)那样简单的文本编辑器,能够防止包蕴部分不可知的特殊字符,而那类字符可能会在Microsoft
Word中冒出。在此案例中,你将制造一个简约的批处理公事来恒定至包涵有ListFields.py文本的目录中,并推行该脚本文件。

shell> ls -l /usr/bin/firefox
lrwxrwxrwx 1 root root 26 Apr 1 02:15 /usr/bin/firefox ->
/usr/lib/firefox/firefox
shell> rm /usr/bin/firefox
shell> ln -s /usr/local/firefox2.0.0.3/firefox /usr/bin/firefox

How to do it…

依据以下步骤来成立一个批处理文件:
1.开辟记事本(Notepad)。
2.添加以下文本:

cd /d C:\ArcpyBook\Appendix1
python ListFields.py C:\ArcpyBook\data Burglaries_2009.shp

3.将文件保留为桌面上的ListFields.bat文本。确认当选保存文件类型
(Save as Type)
中的下拉列表中的负有文件(All
Files)
,否则文本会保存为ListFields.bat.txt文件。
4.双击桌面中的ListFields.bat文本来执行命令代码。
5.在实施进程中会弹出一个命令提醒符窗口。执行到位后,该窗口会自行关闭。

好了,点击原来的firefox连忙形式看看是还是不是足以健康启动firefox程序。

How it works…

Windows系统将批处理公事视为可执行文件,因而双击批处理文件会自行弹出一个新的命令指示符窗口来施行批处理文件中的命令行代码。所有的print讲话都会写入到窗口中。代码执行已毕后,命令提醒符窗口会自动关闭。固然您想跟踪输出结果,你可以将结果写入到一个日记文件中。

三、Trouble Shooting

There’s more…

批处理公事中可以分包变量,循环语句,注释以及条件逻辑语句。这么些意义已经超(英文名:)越本书范围。不过,假使您必要给单位编制大批量剧本的话,如故值得花些时间来多驾驭批处理公事的学问。越多关于关于批处理文件的音讯,你可以在Wikipedia中查看。

若是程序不可以健康履行,试试以下操作。

创制职责安顿

批处理文件创设完毕后就足以在Windows任务陈设程序中开创义务安排,在指定时间来机关执行处理任务。

1、设置科学的权位和owner,有限援助程序是可举行的,并且可以被眼前用户执行。
2、确认link正确无误。
3、直接运行实际上位置的实践顺序,看是还是不是足以健康运作。
4、注销重复登录KDE,再运行试试。

Getting ready

许多地理处理脚本都是丰裕耗时的,最好是安顿在非工作时间内举行,这样既可以足够利用系统资源也可以让您将精力放在其他任务中。在该案例中,你将学习如何采纳Windows任务安排程序来安装举行批处理公事的天职陈设。

四、thunderbird使用的一个杰出表明

How to do it…

依据以下步骤在Windows义务布署程序中设置批处理公事的职务安排。
1.点击发端|所有程序|附件|系统工具|控制面板|管理工具
(Start|All Programs|Accessories|System Tools|Control
Panel|Administrative Tools)
选择职分布置(Task
Scheduler)
开拓义务安插程序。职责安顿程序界面如下图所示:

澳门金沙国际 12

2.选择操作(Action)菜单项后选拔始建基本职责(Create Basic
Task)
弹出开创基本义务向导(Create Basic Task Wizard)对话框。
3.设置任务名称。在此案例中大家将任务名称设置为List Fields from a Feature Class。点击下一步(Next)

澳门金沙国际 13

4.选项义务执行时的触发器。平日选用基于时间触发器,不过也能够设置为其余门类的触发器,比如用户登录时或电脑启动时等。在此案例中,大家拔取每天(Daily)。点击下一步(Next)

澳门金沙国际 14

5.选项一个发端的日期时间以及履行周期。如下图所示,我采纳起来时间为二零一二年1九月31日傍晚1点,每隔1天执行一回。由此每一天凌晨1点都会举行该任务。点击下一步(Next)

澳门金沙国际 15

6.在操作中甄选启航程序(Start a program)

澳门金沙国际 16

7.找到你的批处理文件并累加参数。那里必要证实一下,大家可以挑选直接打开前一个案例成立的bat批处理文件后直接点击下一步(Next),也可以如下图所示,导入创设的python脚本文件,在累加参数(Add
argument)
中输入C:\ArcpyBook\data Burglaries_2009.shp后点击下一步(Next)

澳门金沙国际 17

8.点击完成(Finish)拉长义务义务安插中。

澳门金沙国际 18

9.任务现在来得在活动职务列表中:

澳门金沙国际 19

自己把Windows下的邮件帐号数据目录拷贝到Linux下直接使用,为了保障那样可以万事大吉施行,把目录及里面装有文件设为了777权力。

How it works…

Windows职务安顿程序会追踪所有的位移职务并会在预订义触发器触发时来实施那些义务。在本案例中,大家安插任务在每一天凌晨1点推行。也就代表每一日凌晨1点批处理公事将被触发,同时成立职务时指定的参数会传送给脚本。使用任务布置程序可以在不要求GIS人士的干预的非工作时间自动执行地理处理职务,那将给你带来越多灵活性并增强工作效用。你仍可以将Python脚本中的错误记录到一个日记文件中来查看问题的详细音信。


第十二章 格外和错误处理
||| 附录B
八个常用Python处理任务

布署好邮件账号后,收信,一切正常。

但突然发现filter报错,说找到不filter中活动邮件所到的目标文件夹,分析应该是thunderbird在msgFilterRules.dat中写入了相对路径而且是以Windows路径格式写的导致的这一个题目。

于是再次解压邮件目录,启动thunderbird后不及时收邮件,先把具备filter中需求活动邮件地方的目的文件夹重新指定一次,OK,问题解决。 

Thunderbird
的详实介绍
:请点那里
Thunderbird
的下载地址
:请点那里

有关阅读:

Red Hat Enterprise
6.3手动安装Thunderbird
http://www.linuxidc.com/Linux/2012-10/73163.htm

通过apt-get在Debian Linux下安装FireFox和ThunderBird
http://www.linuxidc.com/Linux/2012-07/66132.htm

Ubuntu运用Thunderbird方法指南[图文]
http://www.linuxidc.com/Linux/2011-01/31453.htm

在Ubuntu上安装Thunderbird 3及中文呈现设置
http://www.linuxidc.com/Linux/2011-01/31439.htm

Ubuntu 环境使用 Evolution 与 Thunderbird 收发邮件
http://www.linuxidc.com/Linux/2010-04/25679.htm

澳门金沙国际 20

相关文章