Powershell_2

powershell_2 使用提供程序

书接上回,我们已经学了如何用get-help命令来进行一些简单的查询,也可以进行一些快捷命令的创建,还有一些简单的筛选的配置,还有一些结果列出的控制。

接下来我们学习powershell的控制命令

在powershell中,是不区分文件和文件夹的,所以使用item命令后需要使用“-path”参数来指定是目录还是文件,同时也需要用这个命令来指定是注册表还是其他内容。

同时,在powershell中,调用参数有一个内容,就是指定了第一个参数以后,就不能重复指定并行的另一个参数,例如下图,我们指定了参数1.1,就不能又指定参数2或者2.1的后续,除非使用的是公共的指定。

练习题

答案

在注册表中定位到 HKEY_CURRENT_USER\Software\Microsoft\Windows\Curentversion\explorer。选中advanced,然后将dontprettypath的值修改为1。

1
2
3
#更改注册表位置
set-location -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer"
set-itemproperty -path advanced -name dontprettypath -value 1

检查

创建一个名字为C:\labs的文件夹

1
2
#创建一个文件夹
new-item -path C:\labs -type directory

检查

创建一个长度为0的文件,名字为C:\labs\test.txt

1
2
#创建一个长度为0的文件
new-item -path C:\labs\test.txt -type file -force

检查

使用set-item修改C:\labs\test.txt的内容为testing

这个不可能成功,因为set-item是修改当前文件的命令,就像鼠标右键怎么可能修改文件的内容,应该是使用get-content和set-content来修改文件内容。

使用环境提供程序,显示操作系统变量%temp%

1
2
3
4
#使用环境变量
get-item env:temp
#或者
dir env:temp

get-childitem的-filter参数和-include参数和-Exclude参数之间的区别

首先,“-filter”参数是用于筛选文件名,而“-include”参数是用于指定文件名,而“-exclude”参数是用于指定不包含的文件名。其次,“-filter”不适用于筛选注册表。“-include”和“-exclude”在对一个容器进行筛选时,需要添加“-recurse”参数使用,也就是说一个是筛选,一个是进程,类型不一样,个人感觉-include和-exclude参数的使用场景应该比较多。但是要看命令是否支持。