小编ᔕᖺᘎ*_*ᖺᘎᕊ的帖子

Windows 7 访问拒绝可执行文件.. 什么?

自从我开始使用 Windows 7 以来,这个问题一直困扰着我。有时我会在其他论坛上看到类似的问题,但我从来没有看到答案。以下是几乎总是会重现它的两种场景:

探索者之路

  1. 使用资源管理器,导航到至少包含一个 exe 文件的目录
  2. 立即上一级目录
  3. 删除刚刚导航到的目录
  4. 产生文件夹访问被拒绝对话框,说明您需要执行此操作的权限您需要管理员的权限才能更改此文件夹,按钮再次尝试取消
  5. 点击再次尝试永远不会立即起作用。等待一分钟左右,然后再次单击它确实有效

注意:如果在步骤 2 中等待一分钟或更长时间再上一个目录,则不会出现问题,可以删除该文件夹

Visual Studio 方式

  1. 构建一个生成 exe 文件的项目
  2. 运行可执行文件然后关闭它
  3. 立即再次构建项目(例如,通过更改源文件中的单个字符)
  4. 产生致命错误 LNK1168:无法打开 /path/to/the.exe 进行写入

注意:如果在步骤 2 中等待一分钟或更长时间再重新构建,则不会出现问题。

一些规格

  • 在 VS2008/2010/2011 的 Windows 7 32 位和 64 位上都发生
  • 发生在 3 台不同的机器上
  • 我没有任何类型的病毒扫描程序
  • 我确实禁用了一堆服务,但没有什么可以阻止 Windows 正常运行,UAC 也被禁用
  • 发生在任何类型的光盘上
  • 我总是使用管理员组中的用户帐户

显然,这两种情况都非常相似,并且具有极强的可重现性。所以我认为某些进程出于某种原因必须打开文件,然后再释放它。但是,使用 sysinternals

handle -a
Run Code Online (Sandbox Code Playgroud)

有问题的 exe 文件永远不会出现。(这是使用句柄的正确方法,对吗?)因此,当资源管理器/VS 报告他们无法访问该文件时,handle.exe 表示它没有在任何地方使用。这让我很无能为力,所以我想知道是否有人可以提出解决方案:为什么会发生这种情况,以及如何解决?

针对提出的问题进行更新

  • 我无法在安全模式下重现该问题
  • 安装了一堆shell扩展。从 SellExView,这里是所有机器通用的非微软的:NitroPDF、WinRAR、TortoiseGit、TortoiseSvn、NVidia。我会发现 Tortoise 最可疑,尽管“状态缓存”选项都设置为“状态缓存仅用于一个文件夹,没有递归覆盖”,即没有运行 TortoiseCache.exe。 …

windows-7 visual-studio

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

在 Mac OSX 中的脏卷挂载上禁用自动 fsck_exfat

我有几个用 exFAT 格式化的大硬盘,以保持 Win7/Bootcamp 和 Snow Leopard 之间的兼容性。

问题是:fsck_exfat需要像 6-8gb 的 RAM 才能在大磁盘上完成。(Windows 的 chkdsk 工作正常,顺便说一句)。如果 OSX 检测到一个卷为脏,它似乎会自动尝试fsck该卷……但我发现它实际上并没有解决任何问题。在此自动扫描期间,OSX 必须对几乎所有其他内容进行分页以进行交换。当我在家中的办公桌上时,我使用了几个外部驱动器,如果 exFAT 卷很脏,那么每个驱动器可能需要 10 分钟以上的时间才能使用笔记本电脑,这是Finder 加载之后。

在您建议使用备用文件系统之前:

  • FAT32 - 4gb 文件限制对我来说是个问题,我至少有一个 3tb 驱动器。考虑为较小的驱动器重新格式化
  • NTFS - 我尝试过的每个 OSX NTFS 驱动程序都很糟糕。ntfs3g 在 CPU 时间方面效率极低,并且由于某种原因,在大量 I/O 期间经常一次冻结整个系统几秒钟。Tuxera NTFS 更好,但在大量使用时仍然很糟糕。Finder 为大型图像文件夹生成缩略图,或者在 300+gb 的托管库上基本使用 Songbird 之类的事情变得非常不愉快(而且摇摇欲坠)。
  • HFS+ - 我在 Windows 中使用的 HFS 驱动程序(Paragon 与 Seagate 驱动器捆绑在一起)至少损坏了一个重要文件夹,我拒绝再次触摸它

更糟糕的是,我试图在没有交换的情况下运行这台笔记本电脑,因为我对 OSX 的交换行为感到恼火(基本上,无论可用的 RAM 多少,它都会将不活动的内容分页到磁盘)。禁用交换文件带来的性能提升非常好。但!每当fsck启动时,由于 RAM 不足,笔记本电脑很快就会自动冻结。 …

fsck exfat macos

13
推荐指数
2
解决办法
8818
查看次数

在 Windows XP 中禁用缩略图?

背景
我经常使用 Windows 资源管理器来浏览我的驱动器和数据,我有时会注意到很少的死机和打嗝。在浏览包含大量视频文件(AVI、MKV、MPG 等)的本地或网络文件夹时,这一点尤其明显。

我几乎总是在详细信息视图中浏览,并且打开了“不缓存缩略图”选项。即使我处于“详细信息”模式,我也确信缓慢是由于 Windows 试图为视频文件生成缩略图,因此我想禁用为这些文件生成缩略图。

我偶尔会使用缩略图视图来浏览图像文件,所以我不想禁用所有缩略图。但为了将来参考,这可能是件好事。

问题

  • 如何禁用所有非图像文件的缩略图生成
  • 如何禁用所有文件的缩略图生成
  • 如何禁用一种特定文件类型的缩略图生成

最后,一旦我执行了上述操作之一,我该如何撤消(重新启用缩略图)?

video thumbnails windows-explorer windows-xp

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

Bash 说文件不存在,但确实存在

我正在尝试为我的 linksys WRVS4400N 编译固件。

ls显示存在,但是当它尝试运行它时,bash 说它不存在。我也cat可以,它是一个可执行文件,而不是一个 shell 脚本。

bash arch-linux

12
推荐指数
2
解决办法
3万
查看次数

如何从命令行禁用/启用 Microsoft Security Essentials?

我想知道如何从命令行禁用和启用 Microsoft Security Essentials。

这是构建机器上的常见程序,以加快构建过程。

ms-security-essentials anti-virus

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

使用 bash 将任务置于后台

我知道你可以用 Bash 做后台工作foo &。但是,我知道将前台作业置于后台的最佳方法是执行Ctrl+z暂停它然后bg 1在后台恢复它。

有没有更快的方法?我不知道某些Ctrl+Something组合键?

bash

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

limit.conf 设置内存限制

我想限制任何进程使用超过 500 MB 的 RAM。AFAIK 这是使用 /etc/security/limits.conf 中的 RSS 完成的,但名为 gnome-panel 的进程显然使用了 618436 kB 的 VmRSS。怎么会这样 ?

/etc/security/limits.conf

* 硬 rss 512000

username@debian:~$ cat /proc/3002/status
名称:侏儒面板
状态:S(睡眠)
编号:3002
周期:3002
PPid:2910
示踪剂:0
用户名:1​​000 1000 1000 1000
基德:1000 1000 1000 1000
FD尺寸:64
组别:20 24 25 29 44 46 112 116 117 1000 1002 1003 
VmPeak:916636 KB
虚拟机大小:916636 KB
VmLck:0 KB
VmHWM:618436 KB
VmRSS:618436 KB
虚拟机数据:601972 KB
VmStk:104 KB
VmExe:516 KB
VmLib:29232 KB
VmPTE:1760 KB
主题:1
信号:0/14001
签名:0000000000000000
ShdPnd:0000000000000000
签名块:0000000000000000
签名:0000000020001000
签名:0000000180000000
CapInh:0000000000000000 …

memory linux

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

2.2 TB 限制甚至适用于 eSATA 驱动器?3TB 显示为 746 GB

我有一个带 USB 2.0 和 eSATA 的 Icy Dock 3.5" 外置机箱。我有一个带 USB 2.0 和 eSATA 端口的英特尔 DG45ID 主板。过去我在机箱中有一个 2 TB 希捷驱动器,通过任一接口都能正常工作。我刚买了一个 3 TB 的 Hitachi 驱动器,它显示为 746.39 GB!

起初我想,没问题,这个有几年历史的机箱中的 USB 存储控制器不支持超过 2.2 TB 的驱动器(显然是一个著名的限制)。所以我切换到 eSATA,认为这将是一个简单的直通连接,它会起作用,因为那时外壳实际上并没有对接口做任何事情。但显然并非如此。

我有带有当前补丁的 Windows Vista 64 位。对于大于 2 TB 的磁盘,我按照 GUI 中的建议将磁盘初始化为 GPT,而不是 MBR。

那么,什么给?eSATA 机箱只是通过未经修改的 SATA 连接,我错了吗?是我的主板有问题吗?有些司机?

编辑:我刚刚安装了英特尔快速存储软件,它将我的 SATA 控制器驱动程序从 8.6(2-3 年前)更新到 9.6(一年多前)。这并没有改变 Windows Vista 对驱动器的看法,但它确实安装了一个“英特尔快速存储技术”应用程序,该应用程序将驱动器显示为 3 TB!因此,系统的某些部分可以看到完整的驱动器大小,而不是操作系统。是什么赋予了?

windows-vista hard-drive esata external-hard-drive

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

webdav davfs2 输入/输出错误

我在 Linux 系统中配置了一个 box.com 帐户,因此用户可以将其安装在某个安装点并访问其内容。它在 fstab 中声明为:

https://www.box.com/dav /media/box davfs rw,user,noauto 0 0
Run Code Online (Sandbox Code Playgroud)

挂载帐户的用户具有 ~/.davfs2/secrets ,其中包含以下内容:

/media/box <username> <password>
Run Code Online (Sandbox Code Playgroud)

用户可以毫无问题地挂载并列出已挂载的文件夹,但是在尝试将文件从 box.com 复制到我们的本地计算机时,这会给我们带来一些问题。我已经尝试了以下结果:

cat /media/box/example_file.txt => Will output the contents of the file
cp /media/box/example_file.txt /tmp => will give the I/O error
wc -l /media/box/example_file.txt => will give the I/O error as well
touch asd && cp asd /media/box && ls /media/box => lists asd in /media/box
Run Code Online (Sandbox Code Playgroud)

我试过设置

use_locks 0
Run Code Online (Sandbox Code Playgroud)

在 /etc/davfs2/davfs2.conf 中,但它没有解决问题。

任何可能阻止系统正确访问 box.com 挂载点的线索?

linux webdav input davfs2

11
推荐指数
0
解决办法
1546
查看次数

将批处理脚本输出转储到文本文件中,无需事先指定批处理文件位置

我知道我可以通过这种方式获得输出(捕获标准和错误):

[batchFilePath] > [logFilePath] 2>&1
Run Code Online (Sandbox Code Playgroud)

或者这样用于标准输出:

C:\MyBatchFile.bat > output.txt
Run Code Online (Sandbox Code Playgroud)

但是有没有办法在不指定批处理文件本身的位置的情况下做到这一点?

例如,假设我运行(只需双击执行)C:\MyFolder\MyBatch.cmd,在退出批处理文件(或完成)后,我可以在 C:\MyFolder\MyBatch.txt 中找到输出

如果是这样,我需要在批处理文件本身中包含哪些代码?

windows batch command-line batch-file

11
推荐指数
2
解决办法
6万
查看次数