小编Ste*_*e B的帖子

不能递归排除目录模式

我正在尝试递归获取文件夹的子项。但是该文件夹包含噪声文件和文件夹(实际上,这是一个 Visual Studio 项目文件夹)。

这是我所拥有的:

$root = Get-Item C:\Projects\MyProject

$allItems =  Get-ChildItem $root -Recurse -exclude "**\pkgobj\*"
Run Code Online (Sandbox Code Playgroud)

但是,$allItems仍然包含与路径匹配的文件和文件夹。

我做错了什么?

更准确地说,我想同时获取文件夹和文件,而不是指定的文件夹及其任何后代。

我也试过:

foreach($item in $allItems){
    if($item.FullName -notmatch "pkgobj") {
        Write-Host -ForegroundColor Green $item.FullName.Replace($root,'')

    }
}
Run Code Online (Sandbox Code Playgroud)

但没有更多的成功

powershell

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

我在哪里可以下载 OpenVPN 客户端?

我想为我的 Windows 8.1 (x64) 计算机下载此版本的 OpenVPN 客户端:

客户

但是,我找不到官方链接。

OpenVPN 下载页面上,仅提供 OpenVPN GUI。

如果我用谷歌搜索下载链接,我只能找到我不信任的外部下载(如软件通知、CNet 下载等)。

这个客户端的官方下载页面在哪里?

windows openvpn windows-8.1

22
推荐指数
1
解决办法
11万
查看次数

如何从 Windows 资源管理器搜索框中搜索多种文件类型?

我想使用 Windows 资源管理器搜索框来搜索多种文件类型。

是否有任何受支持的语法可以这样做?

我试过:

*.docx *.xlsx
*.docx, *.xlsx
*.docx; *.xlsx
*.docx or *.xlsx
*.docx | *.xlsx
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用(同时*.docx*.xlsx单独起作用)

search windows-explorer

20
推荐指数
1
解决办法
2万
查看次数

同步 PowerShell zip 文件

在 PowerShell 脚本中,我想在删除文件夹之前压缩文件夹。我运行以下(我不记得我在哪里找到的代码段):

function Compress-ToZip
{
    param([string]$zipfilename)

    if(-not (test-path($zipfilename)))
    {
        set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
        (Get-ChildItem $zipfilename).IsReadOnly = $false   
    }

    $shellApplication = new-object -com shell.application
    $zipPackage = $shellApplication.NameSpace($zipfilename)

    foreach($file in $input)
    {
         $zipPackage.CopyHere($file.FullName)

    }
}
Run Code Online (Sandbox Code Playgroud)

此代码段实际上压缩了文件夹,但以异步方式进行。实际上,Shell.Application 对象的 CopyHere 方法开始压缩并且不等待其完成。我的脚本的下一个语句然后搞砸了(因为 zip 文件过程没有完成)。

有什么建议?如果可能的话,我想避免添加任何可执行文件并继续使用纯 Windows 功能。

[编辑] 我的 PS1 文件的全部内容减去数据库的实际名称。该脚本的目标是备份一组 SQL 数据库,然后将备份压缩在一个以当前日期命名的文件夹中的单个包中:

$VerbosePreferenceBak = $VerbosePreference
$VerbosePreference = "Continue"

add-PSSnapin SqlServerCmdletSnapin100

function BackupDB([string] $dbName, [string] $outDir)
{
    Write-Host "Backup de la base :  $dbName"
    $script = "BACKUP …
Run Code Online (Sandbox Code Playgroud)

backup zip powershell database

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

如何避免 Microsoft Teams 充当多媒体应用程序?

我在公司环境中使用 Microsoft Teams。

我有一个带有播放/暂停按钮的多媒体键盘(Logitech MX 键,如果重要的话)。

当我按下按钮时,它会触发 Microsoft Teams 铃声(即使没有处于活动状态的通信)。弹出窗口包含Microsoft Teams Notification

Microsoft Teams 铃声

提示中的右键将我带到我的实际多媒体应用程序(Deezer Windows 10 应用程序)。

如何避免 MS Teams 被注册为多媒体应用程序?不确定有关此 Windows 功能的幕后情况。

PS:我的系统是Windows 10 x64 20H2专业版。MS Teams 在发布渠道中(我猜)

keyboard multimedia microsoft-teams

9
推荐指数
2
解决办法
898
查看次数

无法缩小 Windows 8 计算机上的数据分区

我的电脑运行的是 Windows 8 X64 Enterprise。

我有两个分区,C(系统)和 D(数据)。两者都是位锁定的。

我想缩小我的 D 分区(为了创建一个新分区)。使用磁盘管理管理单元,我选择了收缩选项。这个工具允许我将分区的大小减小到某个点,这应该是最后一个不可移动的文件,即使仍有大约 100 GB 的可用空间。

在事件查看器中,我有一个条目说明最后一个不可移动的文件是什么。这是 :

\?\Volume{cac39fe5-6ea3-11e2-be6a-2016d893ea2f}\System Volume Information\FVE2.{e40ad34d-dae9-4bc7-95bd-b16218c10f72}.3::$DATA

按照建议,运行该fsutil命令会产生以下输出:

PS C:\> fsutil volume querycluster "\\?\Volume{cac39fe5-6ea3-11e2-be6a-2016d893ea2f}" 0x3a998b7
Cluster 0x0000000003a998b7 utilisé par ---AD \System Volume Information\FVE2.{e40ad34d-dae9-4bc7-95bd-b16218c10f72}.3::$DATA
Run Code Online (Sandbox Code Playgroud)

经过一番搜索,我发现System Volume Information是系统保护使用的。所以我禁用了它并重新启动了计算机。

不幸的是,该文件仍然存在并且不允许我缩小此文件位置上方的分区。

我尝试了一些碎片整理软件(Defraggler 和 MyDefrag),但它们都无法移动这些文件,事件使用启动时碎片整理。

我怎样才能真正摆脱这些文件?我怎样才能真正缩小这个文件上方的分区?

defragment partitioning bitlocker resizing windows-8

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

降低正在运行的进程磁盘 i/o 优先级?

我有一台带有标准单 SATA 驱动器的标准台式计算机。

我在某些应用程序中遇到了很多滞后,可能是因为磁盘(队列通常 > 10)。

有没有办法降低一些现有非重要进程的 I/O 优先级(以同样的方式我可以降低这些进程的 CPU 优先级)?

windows performance

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

在 Excel 中打开带有前导破折号的 CSV 文件

我有一个 csv 文件,如下所示:

Ref;Code;OtherData;
"MyRef";"-arm";"something";
Run Code Online (Sandbox Code Playgroud)

我认为这个表格是有效的,不是吗?

当我在 Excel 中打开文件时,Excel 将“-arm”解析为公式。如何强制 Excel 以纯文本形式读取值?

如果需要,我可以更改 CSV 格式。

PS:不要让我添加前导'. 我不想调整特定应用程序的值,因为其他应用程序仍然必须能够读取该值。

csv microsoft-excel

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

带有显式参数的 Powershell 参数集解析失败

假设我有这个功能:

function Foo{
    [CmdLetBinding()]
    param(
        [Parameter(Mandatory=$true,ParameterSetName="A",Position=0)] 
        [Parameter(Mandatory=$true,ParameterSetName="both",Position=0)] 
        [int]
        $A,

        [Parameter(Mandatory=$true,ParameterSetName="B",Position=0)] 
        [Parameter(Mandatory=$true,ParameterSetName="both",Position=1)] 
        [int]
        $B
    )

    Write-Host $PsCmdlet.ParameterSetName

}
Run Code Online (Sandbox Code Playgroud)

我希望这种方法可以期待 A 或 B 或两者兼而有之。从来没有。

但是,如果我称之为:

Foo -A 1 -B 2 # outputs "both" as expected
Foo -B 3 # error
Foo -A 4 # error
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Foo : Parameter set cannot be resolved using the specified named parameters.
At c:\pathto:75 char:4
+ Foo <<<<  -B 3
    + CategoryInfo          : InvalidArgument: (:) [Foo], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Foo

Foo : Parameter set cannot …
Run Code Online (Sandbox Code Playgroud)

powershell

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

如何使用 robocopy 复制用户的 appdata 文件夹?

我正在尝试备份我当前用户的 AppData 文件夹。

因为文件夹很大,我想用robocopy.

然而,robocopy 正在处理符号链接。

特别是,在用户文件夹中,有一个符号(我猜)链接Application data指向Roaming文件夹。

另外还有中Local的文件夹,命名为“应用程序数据”,它指向另一个链接local文件夹。这以递归无限循环local\application data\application data\application data等结束,每次复制整个local文件夹。

我尝试将/sl开关添加到 robocopy,但没有成功。

如何正确复制我的用户文件夹?

backup robocopy

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