日常来说状态下,步向Windows分界面在此之前都有二个签到进度,如何在登入前让系统施行脚本呢?下边介绍后生可畏种艺术。

Windows中落到实处不依靠于账户登陆的开机运转程序,不依赖账

在Windows中超多的天职,大家盼望能够在Windows
运行之后自动运转。举个例子,公司有个订饭系统,基本每一日都亟需登陆去订饭,于是写一个剧本完成活动订饭。可是您的微计算机每一日要关机,当然不指望开机后还必要手动运营那些订饭脚本了。于是当时大家要将其这种本子达成为开机自动运维脚本。
但要注意本文要讲的开机运维的顺序,是在客户还并未有登入的情况下达成运转的。换句话说,本文描述的开机运营的程序运转在Session
0中
重要介绍了3中艺术, 大家能够采用适当的法子去落到实处。

第十八章 相当和错误管理
||| 附录B
七个常用Python管理任务

1.开辟组攻略,在Run(运维卡塔 尔(英语:State of Qatar)中输入GREDIT.MSC,点击确认。

Windows Service

当Windows
运维的时候,还不曾登入账号的时候,那时Windows中安装为auto状态的Service将会在Session 0中运作。能够遵照如下步骤去贯彻Windows Service:

  1. 设若还没实现过Windows Service 程序的同学,能够参照那篇文章《Simple
    Windows Service in C++》去得以达成。
  2. 通过命令行创造Service, 主要注意start= auto设置Service为开机运转。

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


图片 1

Windows Startup Script

信守如下步骤:

  1. 张开本地的组战术管理,运转命令gpedit
    2.
    然后挨门逐户张开Computer Configuration->Windows Settings->Scripts->
    Startup, 在Startup中配置必要开机运维的台本也许程序。
    在机械中的配置,咱们都用尽了全力的希望自动化,于是希望通过脚本来完毕这一个动作。缺憾未有CMD
    命令可以直接采用这种方法增多运行程序,后来博主搜索了有些措施,有经过直接修改注册表的、也有通过vb脚本去贯彻的,但这一个办法个人以为还不够间接,轻巧。
    于是博主找到了接下去要说的法子,通过Windows按时职分微机。

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

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脚本增加到批管理公事
  • 制造职务布置

图片 2


3.在侧边双击Stratup,现身如图弹窗,可在这里加多cmd可能PowerShell脚本。

引言

Python脚本不仅可以够在ArcGIS运市场价格况外以单独脚本的款型来运维,也得以在ArcGIS运维条件内以脚本工具的格局来运作。两种方法都某些的利害。到最近甘休,全部的台本都以在ArcGIS景况中以脚本工具方式或在Python开垦条件IDLE以致ArcGIS内的Python窗口来实践。可是,Python脚本同样能够通过Windows操作系统命令行形式来施行。这种执行Python脚本的艺术对于拟订脚本实践职责布署以来是非常有效的。制订脚本实行职务陈设有多少个方面包车型大巴原因,一是累累地理管理脚本的运转需求消耗很短日子日常都以安排在非工时来履行。此外,有风流罗曼蒂克部分本子须求定期定期(每日,每一周以至每月卡塔尔实施,一时候也是由于成效思虑。在本章中,你将学习怎么通过命令行来进行Python脚本,将脚本添加到批管理公事中甚至在指准时间来施行脚本。须要注意一点,由于代码中须要调用arcpy模块,全数通过的命令行来推行的脚本还是需求得到ArcGIS桌面软件的认同。

图片 3

透过命令行实行Python脚本

到近来结束,本书中保有的Python脚本要么在ArcGIS情状中以脚本工具格局进行,要么在Python开荒条件中实行。Windows命令行为您提供了其它风姿浪漫种运维Python脚本的艺术。命令提示窗口首要以批管理公事或职务陈设的情势来试行脚本。

4.点击确认

Getting ready

在指令提醒窗口中进行Python地理处理脚本有八个方面包车型客车优势。这么些本子能够安顿在悠闲时间实行以得到更加高的成效,同一时候也便于利用Python自带的错误管理和调护医疗功用来张开调护治疗代码。
在那案例中,你将学习怎么着选取Windows命令提醒符来运转Python脚本。你需求得到管理员权限来完成本案例,由此你恐怕须要联系新闻技巧协理部门来改过权限。

重启,在后一次报到Windows界眼下,系统会活动施行所增加的脚本。

How to do it…

鲁人持竿以下步骤来读书怎么通过Windows命令提醒符来施行脚本:
1.Windows中点击始发|全体程序|附件|命令提醒符
(Start|All Programs|Accessories|Command
Prompt)
,弹出贰个像样于下图的窗口:

图片 4

窗口中会显示当前目录。你的目录路线会有些差距。大家来改动当前目录。
2.输入cd C:ArcpyBookAppendix1.
3.输入dir来查阅该目录下的文本和子文件夹。你会看出唯有叁个称呼ListFields.py的Python文件。

图片 5

4.你要求认可Python解释器能够施行。点击始于|全部程序|附件|系统工具|调控面板(Start|All
Programs|Accessories|System Tools|Control Panel卡塔 尔(阿拉伯语:قطر‎

图片 6

5.点击系统与定西(System and Security卡塔 尔(英语:State of Qatar)
6.点击系统(System)
7.点击尖端系统装置(Advanced system settings卡塔尔
8.在系统质量(System
Properties卡塔尔
对话框中,如下图所示选用高级(Advanced)选项卡,点击意况变量(Enviroment
Variables卡塔尔国
按钮:

图片 7

9.依据下图所示找到帕特h系统变量,然后点击编辑(Edit)按钮。

图片 8

10.查看C:Python27ArcGIS10.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

 

How it works…

案例中央银行使的ListFields.py脚本会列出Burglaries_2009.shp文本中的属性字段。职业空间路线和shapefile文件名称在剧本中都透过硬编码管理。输入python后输入脚本名称,在本案例中是ListFields.py,会触发python解释器来运维该脚本。在下叁个案例中,你将学习怎样将参数字传送递给脚本,那样就足以移除脚本中的硬编码来让剧本越来越灵活。

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

剧本中不行使硬编码的措施来钦赐数量集路线,脚本通过接受命令提示符中输入的参数来实行拍卖职责,这将使得脚本更具有灵活性。那么些输入参数能够行使Python中的sys.argv[]对象来捕获。

Getting ready

Python中的sys.argv[]指标允许脚本在试行进度中选拔命令行传递的输入参数。如下图所示的事例很好地证实了那风姿浪漫做事体制:

图片 11

每二个参数都用空格隔绝。那几个参数都保留在三个sys.argv[]的列表对象中。使用索引值0来引用sys.argv[]列表中的第一个要素,即脚本名称。在该案例中脚本名字为做ListFields.py。依次使用依次增加的大背头索引值来援用后续的元素。由此,第多个参数(C:ArcpyBookdata)保存在sys.argv[1]中,第三个参数(Burglaries.shp)保存在sys.argv[2]中。每一个sys.argv[]列表对象中的参数都足以在地理处理脚本中得到并利用。在本案例中,你须求更正ListFields.py本子文件来采纳命令行输入的参数。

How to do it…

遵照以下步骤来创造八个应用sys.argv[]来选用命令行中输入的参数的本子:
1.在IDLE中打开C:ArcpyBookAppendix1ListFields.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:ArcpyBookAppendix1
8.在指令提示符窗口中,输入以下命令后按下Enter键:

python ListFields.py C:ArcpyBookdata Burglaries_2009.shp

9.你会再三遍看见Burglaries.shp文本中属性字段的内部情形消息。不一致之处在于你的脚本不再供给硬编码职业空间路线和要素类名称。脚本现在能够列出任何要素类的质量字段。

How it works…

sys模块中蕴藏了一个argv[]的列表对象,该指标用于保存在命令行形式下举办Python脚本的输入参数。列表中的第一个要素是本子名称。因而,在这里案例中sys.argv[0]包含了ListFields.py文本。职业空间和因素类参数分别保存在sys.argv[1]sys.argv[2]中。这个输入参数赋值给变量在本子中接纳。

增加Python脚本至批管理文件

假设要在内定的时刻施行Python脚本,你需求成立一个带有叁个或三个剧本文件,要求情状下还足以包涵操作系统命令的批管理公事。批管理文件可增多到Windows系统的天职布署中在钦赐的时光内试行。

Getting ready

批管理公事是七个文件文件,该文件中包罗有执行脚本的通令行代码或操作系统实践命令。批管理公事的扩充名字为.bat,Windows将其正是可举行的文件。由于批管理公事中只含有有发号出令行代码,因而能够利用其余叁个文本编辑器来编排,纵然如此大家依然建议您利用像记事本(Notepad卡塔尔国那样轻松的文件编辑器,能够幸免富含部分不可知的特殊字符,而那类字符也许会在Microsoft
Word中现身。在本案例中,你将创立一个简约的批管理公事来定位至蕴涵有ListFields.py文件的目录中,并实施该脚本文件。

How to do it…

遵纪守法以下步骤来成立三个批管理文件:
1.开采记事本(Notepad卡塔尔。
2.加多以下文本:

cd /d C:ArcpyBookAppendix1
python ListFields.py C:ArcpyBookdata Burglaries_2009.shp

3.将文件保留为桌面上的ListFields.bat文本。确认当选保留文件类型
(Save as Type)
中的下拉列表中的具备文件(All
Files卡塔尔国
,不然文本会保存为ListFields.bat.txt文件。
4.双击桌面中的ListFields.bat文件来推行命令代码。
5.在实施进度中会弹出三个命令提醒符窗口。推行到位后,该窗口会活动关闭。

How it works…

Windows系统将批管理文件视为可实行文件,因而双击批管理公事会自动弹出三个新的命令提示符窗口来进行批管理文件中的命令行代码。全部的print言语都会写入到窗口中。代码推行实现后,命令提醒符窗口会自动关闭。借使您想追踪输出结果,你能够将结果写入到一个日志文件中。

There’s more…

批管理公事中可以包括变量,循环语句,注释以至条件逻辑语句。这几个功用已经超(Jing Chao卡塔尔国过本书范围。可是,假令你必要给单位编写制定大量本子的话,依旧值得花些时间来多通晓批管理文件的知识。越来越多关于关于批处理公事的新闻,你能够在Wikipedia中查看。

创制职分安排

批管理文件创造实现后就能够在Windows职分安插程序中创建任务铺排,在钦命时期来机关推行拍卖任务。

Getting ready

重重地理管理脚本都以十一分耗费时间的,最棒是计划在非工时内实行,那样不只能够丰硕利用系统财富也能够令你将精力放在别的职务中。在这案例中,你将学习怎么样运用Windows职责布署程序来安装举办批管理公事的天职业安全健康排。

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.选拔任务试行时的触发器。日常选用基于时间触发器,不过也得以设置为别的种类的触发器,比方客户登陆时或微Computer运营时等。在本案例中,我们选拔每天(Daily)。点击下一步(Next)

图片 14

5.选取三个方始的日羊时间以至实践周期。如下图所示,作者选择起来时间为二零一一年四月八日午夜1点,每间距1天推行叁次。由此天天早晨1点都会实施该职务。点击下一步(Next)

图片 15

6.在操作中选择开发银路程序(Start a program卡塔 尔(英语:State of Qatar)

图片 16

7.找到您的批管理公事并丰盛参数。这里须求证惠氏(WYETH卡塔 尔(英语:State of Qatar)(Karicare卡塔尔下,大家可以接纳直接张开前一个案例创立的bat批管理文件后直接点击下一步(Next),也足以如下图所示,导入创制的python脚本文件,在加多参数(Add
argument卡塔尔国
中输入C:ArcpyBookdata Burglaries_2009.shp后点击下一步(Next)

图片 17

8.点击完成(Finish)加上职务职务陈设中。

图片 18

9.职务今后来得在运动任务列表中:

图片 19

How it works…

Windows任务陈设程序会追踪全部的位移职责并会在预约义触发器触发时来施行这个任务。在该案例中,大家配备任务在每日上午1点实行。也就象征每一日早晨1点批处理文件将被触发,同期创造任务时钦命的参数会传送给脚本。使用职务安顿程序能够在不供给GIS职员的过问的非工时自动实施地理管理职责,那将给你带给越多灵活性并升高工效。你还是能将Python脚本中的错误记录到三个日志文件中来查看难点的详细音讯。


第十五章 分外和错误处理
||| 附录B
四个常用Python管理职务

相关文章