Welcome 微信登录

首页 / 编程脚本

自定义PowerShell控制台提示符风格的方法

自定义PowerShell控制台提示符风格的方法

PowerShell控制台的默认命令行提示为PS+(当前路径)+箭头,形如:复制代码 代码如下:PS C:Users非苔>前面加PS是PowerShell的标志,为了和传统的CMD控制台区别开来。后面加当前路径和箭头是为了和一般的命令行保持一致。这样的设计本来无可厚非,但是如果我在写博客时,需要执行某个命令然后连同结果一起复制出来,麻烦来了。比如我要演示Get-Date,打开控制台,敲入命令:复制代码 代码如下:PS C:Users非苔> Ge...
PowerShell捕获错误的2种方法(异常捕获命令、错误变量)

PowerShell捕获错误的2种方法(异常捕获命令、错误变量)

在先前的技巧中你能观察到使用了 “-ErrorAction Stop”结合“异常捕获命令”能捕获一个Powershell命令的错误,可是使用了这种方式操作之后,脚本会在第一个错误发生后停止。下面举例:使用Powershell递归扫描文件夹。它将不能完成捕获中间所有的异常(例如某些子文件夹是受访问保护的)。复制代码 代码如下:try{ Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorA...
PowerShell批量安装msi后辍软件的方法

PowerShell批量安装msi后辍软件的方法

如果你要安装的MSI包不止一个,可不能使用Invoke-Item,否则PowerShell不会等待前一个安装包安装完毕,就已经运行下一个安装包了。如果在批处理中,我们可能会使用msiexec file.msi /wait。在PowerShell中也可以借助于msiexec。先就这些安装包路径存储到数组中吧:复制代码 代码如下:$msi = @("c:file1.msi", "c:file2.msi", "c:file2.msi")然后使用Start-Pro...
PowerShell脚本源码输出到文件的最佳写法

PowerShell脚本源码输出到文件的最佳写法

我以前都是把脚本片段放在字符串中,多行字符串叫here-string,比如:复制代码 代码如下:$code=@"Invoke-WebRequestGet-Service -Name AdobeARMservice"@缺点有二:假如我这个$code字符串很长,执行时出错了,我想排错,但因为它是字符串,在ISE中不能高亮显示,不方便。所以,我估计得把这个字符串中的脚本单独拿出来,放在另外一个ise窗口中仔细辨认一番。$code中的字符串定义了一些变量,我不想这...
PowerShell远程安装MSI安装包、EXE可执行程序的方法

PowerShell远程安装MSI安装包、EXE可执行程序的方法

尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到“远程安装一个msi包或者exe应用程序”的相关文档还是比较少的。甚至有人在一些论坛的评论中写道,这不可能实现。事实上还是可以的。我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序。一、安装MSI包使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包:复制代码 代码如下:$box="deviis01" #this is the name ...
PowerShell注册表操作命令总结

PowerShell注册表操作命令总结

你可以像导航文件系统那样来访问注册表,PowerShell把文件系统和注册表都当作层次信息系统来处理。注册表中的键对应于文件系统的目录,但是键对应的值和文件系统中的文件不是非常类似。相反的,它们显示在属性栏,被以键的属性来管理。复制代码 代码如下:PS C:> Cd HKCU:PS HKCU:> dir Hive: HKEY_CURRENT_USERName Property---- --------AppEventsConsole Color...
Powershell使用WPF技术实现弹窗提示实例

Powershell使用WPF技术实现弹窗提示实例

WPF (Windows Presentation Foundation) 技术能让你创建窗口和对话框。它的优势是在窗体设计时能与代码分开。这里有个简单的显示弹出消息练习。这个消息是定义在XAML代码中它的实现类似HTML(但是请区分大小写)。你能轻松的调整字体大小,内容,颜色等等。不需要嵌入任何代码。复制代码 代码如下:$xaml = @"<Windowxmlns="http://schemas.microsoft.com/winfx/2006/x...
PowerShell中运行CMD命令的技巧总结(解决名称冲突和特殊字符等问题)

PowerShell中运行CMD命令的技巧总结(解决名称冲突和特殊字符等问题)

引言我从老旧的 CMD.EXE 命令行换到优秀的 POWSERSHELL.EXE 已经有一段时间啦。您可能知道新的 Windows PowerShell 可以运行任何旧命令。不过有些旧命令的名称或语法可能会产生问题。但这都不是事儿。麻烦 1:名称冲突PowerShell 的 cmdlet 别名和旧命令的名称有冲突是个常见的问题。比如说您喜欢的服务控制命令 SC.EXE。SC.EXE 非常灵活!我能理解您为什么喜欢它(不要为用 NET.EXE 管理服务找借口...
powershell操作word详解

powershell操作word详解

powershell操作word我假设许多读者用PowerShell生成服务器、事件以及Windows网络上各种数据的报表。您也许创建过纯文本文件,甚至漂亮的HTML报表。但是您也可以用上Microsoft Word,当然,前提是您已经安装了Word。在这个系列的第二部分,我将会向您演示如何用PowerShell为Word文档套用样式。创建Word应用程序对象PowerShell可以通过COM接口控制Word应用程序。有趣的地方是,虽然您可以交互式地做所有...
PowerShell脚本性能优化技巧总结

PowerShell脚本性能优化技巧总结

最终优化在你写脚本时,不要老是想着去优化,因为你的部分优化代码可能最终被丢弃。而且老是想着优化也会降低你的生产效率,因为和CPU的时间相比,脚本编写者的时间可能会更宝贵。使用过滤参数PowerShell可能会消耗很多资源,因为许多Cmdlet本身的设计就是用来提供数目很大的数据。所以,如果你使用的Cmdlet命令支持-Filter, -Include, 和 -Exclude这样的过滤条件,就尽量使用它们。首先如果一条命令支持-Filter 过滤器参数,那就...
PowerShell把文件删除到回收站的方法

PowerShell把文件删除到回收站的方法

某同事辛苦了一个月加班快要完成的设计方案,因为自己一时不小心,直接从公司的共享文件服务器上删除了,无法追回。我也试着建了个共享文件夹,通过资源管理器删除后,也在回收站无法找到,这样也算理解那位女汉子的苦衷了。我们平时使用PowerShell的Remove-Item命令删除了文件,也是属于彻底删除。其实说真的,如果可以,我很想对招远快餐店的6名凶手,执行remove命令,不,直接kill命令。那怎样在PowerShell中将文件安全地删除进回收站?显然需要调...
Powershell批量给文件增加前辍实例

Powershell批量给文件增加前辍实例

让我们假定在文件夹中你有很多脚本文件(或图片、日志等等),并且你想要将它们全部重命名。得到的新文件名应该具备如一个前缀接一个数字。这里将告诉你怎么去实现。例子将重命名你指定的文件夹内所有扩展名为.ps1的Powershell脚本。新的名字将成为powershellscriptX.ps1,这里的“X”是一个递增数字。注意脚本默认还没有真正开始重命名。请特别小心要去掉它的-Whatif参数才真正的重命名文件。假设你录入的变量或输入了一个错误的目录路径,这时你的...
Powershell获取图片名字、文件夹及拍摄时间的例子

Powershell获取图片名字、文件夹及拍摄时间的例子

如果你想要整理你的图片档案,这里有一段代码它能从图片文件获取相关的拍摄信息。这个例子使用一个系统函数获得”我的图片”的路径,接着从其目录和子目录查询所有的文件。获得的结果通过管道符传递给函数Get-DateTaken,它将返回这些图片的名字、文件夹及照片的拍摄日期。复制代码 代码如下:function Get-DateTaken{ param ( [Parameter(ValueFromPipeline=$true, ValueFromPipelineBy...
<< 51 52 53 54 55 56 57 58 59 60 >>