小编Jus*_*ley的帖子

通过改变 ID 或文件名关闭资源管理器窗口

我已经在这些论坛上搜索了几个小时,试图找出一种方法来编写一些我认为比这更简单的东西。

所以这就是我想要做的:我的任务调度程序每两天运行一个脚本。该脚本打开一个explorer.exe一个文件夹路径,然后删除该文件夹中的所有文件。当我不在办公室时,调度程序会在晚上运行脚本。但是,当我进入办公室时,资源管理器窗口会打开该页面。微不足道,我知道 - 但我不想看到那个窗口打开,所以我希望脚本运行,然后关闭窗口,所以我什么也没看到。

我已经试过这种方法了。当我尝试做一些简单的事情时

$var1 = invoke-item C:\path\file
$var1.quit()
Run Code Online (Sandbox Code Playgroud)

或者

$var1.close()
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到一条错误消息,指出该变量为空。

然后我尝试停止该过程。但我不希望关闭所有资源管理器文件,只关闭特定的资源管理器窗口。所以为了做到这一点,我必须知道窗口的 ID。但由于该特定窗口的 ID 不是静态的,我需要获取进程 ID - 将其分配给一个变量 - 然后使用stop-process使用该变量的cmdlet。

这就是我现在正在尝试的:

get-process | where-object {$_.MainWindowTitle -eq "filename"} | select -property id | $var2
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此脚本时,它仍然说该变量为空。

那么如何给变量赋值呢?或者如果有人有关闭特定窗口的更好方法。

(我试过使用stop-processusing just the mainwindowtitle- 但它仍然需要一个 id)

powershell

4
推荐指数
1
解决办法
4683
查看次数

删除数组重复但保留原始

我有一个数组:

Name
----
hi
hello
hello
Run Code Online (Sandbox Code Playgroud)

我想摆脱所有重复 - 但保留至少一个原件.所以输出应该是这样的

Name
----
hi
hello
Run Code Online (Sandbox Code Playgroud)

powershell

1
推荐指数
1
解决办法
252
查看次数

标签 统计

powershell ×2