当前位置: 亚洲城ca88 > 亚洲城 > 正文

签到Windows界前面实践自定义脚本,不借助账

时间:2019-04-22 16:33来源:亚洲城
日常境况下,进入Windows界面在此之前都有1个记名进度,如何在签到前让系统施行脚本呢?下边介绍1种方法。 Windows中贯彻不依附账户登入的开机运维程序,不信赖账 在Windows中过多的职

日常境况下,进入Windows界面在此之前都有1个记名进度,如何在签到前让系统施行脚本呢?下边介绍1种方法。

Windows中贯彻不依附账户登入的开机运维程序,不信赖账

在Windows中过多的职分,大家期待能够在Windows 运营之后自动运维。比方,公司有个订饭系统,基本每日都亟需登入去订饭,于是写1个剧本达成活动订饭。然则您的微机每一日要关机,当然不指望开机后还亟需手动运维那几个订饭脚本了。于是此时我们要将其那种本子完结为开机自动运维脚本。
但要注意本文要讲的开机运转的顺序,是在用户还平素不登陆的状态下降成运维的。换句话说,本文描述的开机启动的程序运营在Session 0中 首要介绍了三中艺术, 大家能够挑选适合的办法去贯彻。

第八二章 卓殊和错误管理 ||| 附录B 几个常用Python管理任务

1.开发组攻略,在Run(运营)中输入GREDIT.MSC,点击确认。

Windows Service

当Windows 运营的时候,还未曾登入账号的时候,此时Windows中装置为auto状态的Service将会在Session 0中运作。能够遵循如下步骤去得以完毕Windows Service:

  1. 比如还一向不落成过Windows Service 程序的同窗,能够参照那篇小说《Simple Windows Service in C 》去贯彻。
  2. 透过命令行成立瑟维斯, 首要注意start= auto安装Service为开机运维。

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


亚洲城 1

Windows Startup Script

依据如下步骤:

  1. 开垦本地的组计谋处理,运营命令gpedit
    二. 然后依次展开Computer Configuration->Windows Settings->Scripts-> Startup, 在Startup中配置供给开机运转的脚本也许程序。
    在机器中的配置,我们都尽心尽力的愿意自动化,于是希望通过脚本来落成这么些动作。可惜没有CMD 命令能够一向选择那种措施增多运行程序,后来博主寻找了一部分措施,有经过一贯改造注册表的、也有通过vb脚本去贯彻的,但这个格局个人认为还不够直接,轻易。
    于是乎博主找到了接下去要说的措施,通过Windows定期职务管理器。

大家就要本章介绍以下案例:

二.依次点击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


三.在右边双击Stratup,出现如图弹窗,可在此增多cmd可能PowerShell脚本。

引言

Python脚本既能够在ArcGIS运维条件外以单身脚本的款型来运维,也能够在ArcGIS运营情形内以脚本工具的情势来运营。三种办法都有各自的得失。到近日停止,全数的本子都是在ArcGIS景况中以脚本工具方式或在Python开荒情况IDLE以及ArcGIS内的Python窗口来奉行。但是,Python脚本一样能够经过Windows操作系统命令行格局来实践。那种实践Python脚本的艺术对于制定脚本施行职责计划以来是这么些管用的。制定脚本施行职分布署有多少个地点的原因,1是不少地理处理脚本的运作要求花费不长日子平常都以布署在非工时来施行。其它,有一部分剧本须要定期定时(每日,周周乃至每月)实施,有时候也是出于功效考虑。在本章中,你将学习怎样通过命令行来进行Python脚本,将脚本增多到批管理文件中以及在钦点时期来试行脚本。需求留意一点,由于代码中必要调用arcpy模块,全部通过的命令行来实践的台本还是需求获得ArcGIS桌面软件的批准。

亚洲城 3

由此命令行推行Python脚本

到近期截止,本书中保有的Python脚本要么在ArcGIS情形中以脚本工具格局举行,要么在Python开垦条件中试行。Windows命令行为您提供了别的1种运维Python脚本的主意。命令提醒窗口首要以批管理公事或职责布置的秘诀来实施脚本。

四.点击确认

Getting ready

在指令提醒窗口中施行Python地理管理脚本有五个方面包车型地铁优势。那个本子能够安插在空闲时间试行以得到更加高的频率,同时也便宜利用Python自带的错误管理和调节和测试功用来开始展览调节和测试代码。
在该案例中,你将学习如何运用Windows命令提醒符来运营Python脚本。你需求得到管理员权限来完开销案例,因而你大概必要调换新闻技艺协理部门来修改权限。

重启,在下次报到Windows界前面,系统会自行实施所增多的剧本。

How to do it...

依照以下步骤来上学怎样通过Windows命令提醒符来实施脚本:
1.Windows中点击始于|全部程序|附属类小部件|命令提醒符
(Start|All Programs|Accessories|Command Prompt)
,弹出1个类似于下图的窗口:

亚洲城 4

窗口中会展现当前目录。你的目录路线会有个别差异。我们来更动当前目录。
2.输入cd C:ArcpyBookAppendix1.
3.输入dir来查阅该目录下的公文和子文件夹。你会看出只有多少个号称ListFields.py的Python文件。

亚洲城 5

四.你需求认可Python解释器能够实行。点击发端|全体程序|附属类小部件|系统工具|调控面板(Start|All Programs|Accessories|System Tools|Control Panel)

亚洲城 6

5.点击系统与安全(System and Security)
6.点击系统(System)
7.点击高级系统安装(Advanced system settings)
8.在系统品质(System Properties)对话框中,如下图所示采取高级(Advanced)选项卡,点击境遇变量(Enviroment Variables)按钮:

亚洲城 7

九.比照下图所示找到Path系统变量,然后点击编辑(Edit)按钮。

亚洲城 8

10.查看C:Python27ArcGIS10.一目录字符串(依照个人情形修改路线)。倘若未有找到该字符串,添加到最终边。确定保证该路径前增加分号分隔符。以后当您在指令提示符中输入python后,系统就会搜索Path系统变量中的每几个索引中搜寻二个可实施文件python.exe。

亚洲城 9

11.点击确认(OK)开关关闭编排系统变量(艾德it System Variable)对话框。
12.点击确认(OK)按键关闭意况变量(Enviroment Variables)对话框。
13.点击确认(OK)开关关闭系统性情(System Properties)对话框。
1四.重回命令行提醒符窗口。
15.输入python ListFields.py。系统就会运维ListFields.py剧本。等待一小会后,你会看到如下结果:

亚洲城 10

 

How it works...

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

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

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

Getting ready

Python中的sys.argv[]目标允许脚本在实施进程中接受命令行传递的输入参数。如下图所示的例证很好地表明了那1做事体制:

亚洲城 11

每七个参数都用空格隔绝。这个参数都保存在八个sys.argv[]的列表对象中。使用索引值0来引用sys.argv[]列表中的第3个成分,即脚本名称。在本案例中脚本名称为做ListFields.py。依次使用递增的整数索引值来引用后续的要素。由此,第三个参数(C:ArcpyBookdata)保存在sys.argv[1]中,第一个参数(Burglaries.shp)保存在sys.argv[2]中。每一个sys.argv[]列表对象中的参数都能够在地理管理脚本中收获并选择。在该案例中,你须求修改ListFields.py剧本文件来接受命令行输入的参数。

How to do it...

依据以下步骤来创设3个应用sys.argv[]来接受命令行中输入的参数的剧本:
1.在IDLE中打开C:ArcpyBookAppendix1ListFields.py文件。
2.导入sys模块:

import arcpy,sys

3.创设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()

陆.保留脚本。
7.开垦命令提示符窗口,退换当前目录至C:ArcpyBookAppendix1
八.在命令提醒符窗口中,输入以下命令后按下Enter键:

python ListFields.py C:ArcpyBookdata Burglaries_2009.shp

玖.你会再二次见到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将其视为可进行的文书。由于批管理公事中只含有有发号施令行代码,因而能够利用其它3个文书编辑器来编排,固然如此我们还是提出您使用像记事本(Notepad)那样简单的文书编辑器,能够幸免包括部分不可知的特殊字符,而那类字符也许会在Microsoft Word中现身。在此案例中,你将开创三个粗略的批管理公事来稳定至包涵有ListFields.py文本的目录中,并施行该脚本文件。

How to do it...

依据以下步骤来创设二个批管理公事:
一.开垦记事本(Notepad)。
二.增多以下文本:

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文件来实行命令代码。
伍.在实施进度中会弹出四个命令提醒符窗口。实施到位后,该窗口会自行关闭。

How it works...

Windows系统将批管理文件视为可推行文件,因而双击批管理公事会活动掸出2个新的命令提醒符窗口来进行批管理文件中的命令行代码。全体的print话语都会写入到窗口中。代码推行实现后,命令提醒符窗口会自动关闭。要是你想追踪输出结果,你能够将结果写入到三个日记文件中。

There's more...

批管理文件中得以包涵变量,循环语句,注释以及条件逻辑语句。这一个效应已经超先生越本书范围。可是,要是您必要给单位编写制定大批量本子的话,照旧值得花些时间来多通晓批管理公事的文化。更加多关于关于批管理文件的消息,你能够在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

四.挑选职务实施时的触发器。日常选取基于时间触发器,不过也可以安装为别的品类的触发器,举例用户登入时或微型计算机运行时等。在此案例中,大家选拔每天(Daily)。点击下一步(Next)

亚洲城 14

5.挑选七个始发的日期时间以及实践周期。如下图所示,笔者选取起来时间为二〇一一年1月四日上午壹点,每隔1天推行3回。因此每日凌晨1点都会进行该职分。点击下一步(Next)

亚洲城 15

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

亚洲城 16

7.找到你的批管理文件并加上参数。那里必要证实一下,大家能够选拔直接展开前3个案例创立的bat批管理公事后向来点击下一步(Next),也得以如下图所示,导入创造的python脚本文件,在加上参数(Add argument)中输入C:ArcpyBookdata Burglaries_2009.shp后点击下一步(Next)

亚洲城 17

8.点击完成(Finish)加多职务任务安插中。

亚洲城 18

九.职分未来浮今后移动任务列表中:

亚洲城 19

How it works...

Windows任务布置程序会追踪全部的移位职分并会在预订义触发器触发时来实行这几个职务。在本案例中,大家配备职分在天天凌晨一点实行。也就象征每日凌晨1点批管理文件将被触发,同时成立职分时钦定的参数会传送给脚本。使用职务安排程序能够在不供给GIS职员的干涉的非工时自动推行地理管理任务,那将给你带来更加多灵活性并加强工效。你还足以将Python脚本中的错误记录到贰个日志文件中来查阅难题的详细消息。


第玖贰章 十分和错误管理 ||| 附录B 多少个常用Python管理职务

编辑:亚洲城 本文来源:签到Windows界前面实践自定义脚本,不借助账

关键词: 亚洲城ca88