考虑以下 Powershell 脚本,该脚本在 C:\ 中搜索名称中带有“og”的文件夹:
PS C:\> (ls | %{$_.Name} | ?{$_.Contains("og")})
性能日志
程序文件
设置日志
现在我缩小搜索范围,只得到一项:
PS C:\> (ls | %{$_.Name} | ?{$_.Contains("Prog")})
程序文件
奇怪的是,第一个操作产生一个array,而第二个操作(恕我直言,语义上是相同的操作,所以它应该产生相同类型的结果)产生一个string。这可以在以下结果中看到:
PS C:\> (ls | %{$_.Name} | ?{$_.Contains("og")}).Length
3
PS C:\> (ls | %{$_.Name} | ?{$_.Contains("Prog")}).Length
13
这可能非常令人恼火,因为显然匹配“og”的文件夹比匹配“Prog”的文件夹少。
显然,PowerShell 隐式地将单项数组“拆箱”为单个对象,我们永远不会得到长度为 1 的数组。似乎每次我想计算管道中的结果时,我都必须检查我是否“ m 是否处理数组。
我怎样才能防止这种情况发生?你如何处理这个问题?
我有一台运行一年的 iMac,配备 8GB RAM,运行 Bootcamped Windows 7 Ultimate 64 位。
以下使用 Sysinternals RamMap.exe 进行的内存分析留下了一些问题:

非分页池中近 5 GB 内存的原因是什么?如何找出导致如此巨大内存使用的驱动程序?
有没有办法从命令行暂停和恢复 Dropbox?
我将 Dropbox 作为正常安装运行(无 Windows 服务)
我不想KILL或冻结 Dropbox 进程。我希望它像单击“暂停同步”时那样进入“暂停”模式。
我有一个现有的命令行工具,它接受文件/文件夹路径作为其唯一参数。
我想创建一个 Windows 资源管理器 shell 扩展,在调用时,使用当前路径运行命令行工具。
这是同样著名的Open command line here,但使用不同的工具比cmd.exe。
那可能吗?怎么做?
我使用 aDeLOCK USB 2.0 Sharing Switch 2 - 1在 iMac(通过 Bootcamp 本机运行 Windows 7)和 Mac Mini 之间共享键盘和鼠标。
从 iMac/Win7 切换到 Mac Mini 工作正常,我按下按钮,大约两秒钟后 Mac 收到键盘的输入。
在另一个方向上,延迟明显更高。Windows 7 似乎需要大约 5-10 秒(识别键盘或其他)才能收到输入。我也尝试过其他产品,这是我得到的最快的。
现在,我只是想知道,我能做些什么来缩短这个延迟吗?或者有人知道有一种产品(KVM、USB 切换器或其他)在切换时没有任何延迟吗?
我想交换机可以实现自己的 USB 功能,以在键盘输入连接到 Mac 时保持与 Windows 端的连接打开。因此Windows不会注意到键盘被“断开”,这意味着切换可以立即发生。
一旦Dropbox上传或下载文件,我的 Windows 资源管理器窗口就会变得几乎没有响应,或者至少非常慢。除非我停用 Dropbox 的同步,否则我会不断获得蓝色纺车,点击文件夹需要永远。
我有一台 2011 年的 iMac,带有 8 个 CPU 内核、8 GB RAM、Windows 7 Ultimate、a Windows Experience Indexof6.9和 Dropbox 在 SSD 磁盘上运行。所以,我认为这是一个非常快速的配置。
该问题也出现在我的另一台 PC 上,这是一台较旧的笔记本电脑,速度较慢,但那里的问题大致相同。
Dropbox 同步机制一如既往地快,所以这不是 Dropbox 服务器的问题。
有人知道问题吗?有什么方法可以禁用 Dropbox 的 Windows Explorer Shell 集成,而无需完全禁用 Dropbox?
windows ×3
dropbox ×2
windows-7 ×2
keyboard ×1
kvm-switch ×1
mac ×1
memory ×1
pipe ×1
powershell ×1
sysinternals ×1
usb ×1
windows-8.1 ×1