标签: windows-explorer

为什么默认的 Windows WebDAV 客户端会忽略 403 Forbidden 响应?

我正在为我的项目使用 sabre/dav 库,但在阻止默认的 Windows WebDAV 客户端“删除”不应删除的文件时遇到了一些困难。服务器部分的实现是可以的,并且其他客户端(Finder、Cyber​​Duck)显然会抛出并确认禁止状态,这些客户端会以禁止的错误中止用户的删除过程。在 Windows 客户端上返回相同的状态,但它似乎只是“删除”了服务器端仍然可用的文件。通过刷新文件夹,这些文件再次可见。似乎 Win 客户端只是忽略了禁止的响应并虚拟删除了文件夹,因此它不再可见。

更大的问题是,如果出于某种原因您决定删除一个文件夹,其中下面有受保护和不受保护的文件/文件夹,它会删除所有不受保护的文件/文件夹,因为它无法确认第一个(或任何)禁止响应。其他 WebDAV 客户端检测到这一点并停止删除过程,因此指定的文件夹及其子文件夹/文件不会受到影响。

尝试删除文件夹或文件时的禁止响应示例:

HTTP/1.1 403 Forbidden
Server: nginx/1.8.0
Date: Wed, 29 Jul 2015 13:55:11 GMT
Content-Type: application/xml; charset=utf-8
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/5.4.41-1~dotdeb+7.1
X-Sabre-Version: 2.1.3
Vary: Accept-Encoding,User-Agent
Content-Length: 320

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:sabredav-version>2.1.3</s:sabredav-version>
  <s:exception>Sabre\DAV\Exception\Forbidden</s:exception>
  <s:message>Permission denied to delete node</s:message>
</d:error>
Run Code Online (Sandbox Code Playgroud)

在 Win8.1 x86 上测试了默认的 Win 客户端。

知道如何强制 Win WebDav 客户端检测禁止响应并终止删除过程吗?

谢谢。

windows webdav windows-explorer sabredav

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

从 Windows 资源管理器中打开 VS Code 中的文件夹

在安装 VS Code 时,我们可以选择勾选Open with Code. 我只为文件打了勾,而不是文件夹。那么安装后如何开启呢?

当我打开文件时:

当我打开一个文件(IMG)

当我打开一个文件夹时:

(IMG)

我想要Open with Code在文件夹中右键单击的选项,就像它显示在文件上一样。

windows-explorer visual-studio-code windows-explorer-integration

6
推荐指数
4
解决办法
6830
查看次数

操作Windows 7资源管理器导航窗格

基于我在超级用户处收到的答案,很明显我必须将以下内容添加到自定义资源管理器窗口启动器中.我想启动一个rooted explorer视图,只有那个窗口使导航窗格看起来像旧的Windows XP文件夹窗格.我已经编写了一个程序来在"开始"菜单上放置这些文件夹视图的快捷方式,因此更改快捷方式以通过启动程序运行是微不足道的.

这是XP文件夹窗格:

Windows XP资源管理器文件夹窗格

这是Windows 7导航窗格:

Windows 7资源管理器导航窗格http://www.280z28.org/images/NavigationPaneProblems.png

navigation windows-explorer windows-shell

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

使用WinAPI获取文件夹的选定项目

嘿伙计们,我试图获取用户正在使用的文件夹的选定文件.我有以下代码已经运行,但只在桌面文件上:

private string selectedFiles()
{
    // get the handle of the desktop listview
    IntPtr vHandle = WinApiWrapper.FindWindow("Progman", "Program Manager");
    vHandle = WinApiWrapper.FindWindowEx(vHandle, IntPtr.Zero, "SHELLDLL_DefView", null);
    vHandle = WinApiWrapper.FindWindowEx(vHandle, IntPtr.Zero, "SysListView32", "FolderView");

    //IntPtr vHandle = WinApiWrapper.GetForegroundWindow();

    //Get total count of the icons on the desktop
    int vItemCount = WinApiWrapper.SendMessage(vHandle, WinApiWrapper.LVM_GETITEMCOUNT, 0, 0);
    //MessageBox.Show(vItemCount.ToString());
    uint vProcessId;
    WinApiWrapper.GetWindowThreadProcessId(vHandle, out vProcessId);
    IntPtr vProcess = WinApiWrapper.OpenProcess(WinApiWrapper.PROCESS_VM_OPERATION | WinApiWrapper.PROCESS_VM_READ |
    WinApiWrapper.PROCESS_VM_WRITE, false, vProcessId);
    IntPtr vPointer = WinApiWrapper.VirtualAllocEx(vProcess, IntPtr.Zero, 4096,
    WinApiWrapper.MEM_RESERVE | WinApiWrapper.MEM_COMMIT, WinApiWrapper.PAGE_READWRITE);
    try
    {
        for …
Run Code Online (Sandbox Code Playgroud)

c# windows winapi windows-explorer

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

Windows 7中的任何位置的命令提示符(本机功能)

我从一个网站上得到了这个提示,在win7中的explorer文件夹中"shift + right click"会给我们一个上下文菜单选项,通过它我可以在那里打开命令提示符.

我正在寻找一个可以使这个更简单的黑客,这样每当我在资源管理器中"右键单击"文件夹时,我总是得到"shift + right click"效果.

我不是在寻找关于powertoys的任何信息.

我正是在上面所说的内容上需要帮助; 必须有一些注册表黑客,使每次右键单击文件夹名称的"转移"默认.

registry windows-explorer command-prompt windows-7

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

由于win explorer指向的目标释放文件夹,ISDEV致命错误-1014的任何自动解决方案?

我的installshield项目构建给出了这样的错误:

"ISDEV:致命错误-1014:无法将目录*\Release重命名为*\Release.Bak.Windows资源管理器或DOS提示符可能指向发布输出文件夹(Disk1)的子文件夹或指向Interm文件夹,将其锁定.更改当前目录.关闭Disk1文件夹中的所有打开文件.如果Msidb.exe已打开,请将其关闭."

原因是因为在我开始构建之前,我打开了一个win explorer,它指向了release文件夹.不知怎的,ISDEV认为这是锁定文件夹,因此它拒绝继续重命名.

现在,是否有一种方法,比如添加某种脚本,强制关闭所有打开的win explorer实例,以便在构建脚本启动之前释放所谓的"锁定"?

谢谢!

installshield windows-explorer

5
推荐指数
2
解决办法
3190
查看次数

HTML:类似Mac和Windows的文件浏览器UI

什么是OSX Finder文件浏览UI和Windows资源管理器文件浏览UI中最准确的基于HTML/JS浏览器的"克隆"?

  1. 我不一定在寻找实际移动/重命名/ etc文件和文件夹的任何后端功能 - 它可能只是改变内存中JS对象的UI代码.然后我会编写代码来实际修改远程主机上的文件.
  2. 我对OSX Finder或Windows资源管理器的任何"高级"功能都不感兴趣,比如连接网络主机或刻录光盘 - 只是基础知识:复制,粘贴,移动,重命名文件+文件夹,创建文件夹,按文件类型排序条目/姓名/修改日期等

html finder windows-explorer file-manager

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

如何选择合适的"网络地点"图标?

我有一个PowerShell脚本,可以在登录时创建网络位置的快捷方式.不幸的是,它使用的是旧的低分辨率图标.这无论如何都不是什么大问题,但我想在更高版本的Windows中使用更新的图标.

这是创建快捷方式的函数的相关部分:

# Create the shortcut file

$shortcut = (New-Object -ComObject WScript.Shell).Createshortcut("$shortcutFolder\target.lnk")

$shortcut.TargetPath = $targetPath
if (
$shortcut.IconLocation = "%SystemRoot%\system32\SHELL32.DLL, 275"
$shortcut.Description = $targetPath
$shortcut.WorkingDirectory = $targetPath
$shortcut.Save()

# Set attributes on the files & folders
$desktopIni | Set-ItemProperty -Name Attributes -Value ([IO.FileAttributes]::System -bxor [IO.FileAttributes]::Hidden)
$shortcutFolder | Set-ItemProperty -Name Attributes -Value ([IO.FileAttributes]::ReadOnly)
Run Code Online (Sandbox Code Playgroud)

如您所见,它目前正在使用SHELL32.DLL库中的Icon#275.在Windows 7中,"正确"图标将是imageres.dll中的图标#143.有没有办法从操作系统中获取图标细节,比如在Explorer命名空间中获取对特殊文件夹的引用?

.net environment powershell windows-explorer

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

以编程方式应用和编辑Windows资源管理器模板?

我正在寻找自动化一些资源管理器配置的方法(比如这里找到的:自定义五个Windows文件夹模板).

我想要:

  1. 更新Windows资源管理器文件夹模板"文档"以添加两列
  2. 递归地将此模板应用于webdav文件夹

我发现几乎没有文件.

我试图使用procmon.exe拦截这些设置所在的位置,但我没有找到相关的东西.

我试着编写shell对象的脚本:

$shell = new-object -com Shell.Application
$folder = $shell.Namespace("http://myserver/webdav")
# $folder.???? nothing relevant
$self = $folder.self
# $self.???? nothing relevant too
Run Code Online (Sandbox Code Playgroud)

我探索了注册表,希望找到一些东西,但我没有.

我有什么选择?我甚至不知道这些设置的位置.

如果可能,解决方案应使用脚本语言(vbs或powershell).或者如果绝对需要,可能有C#程序......如果我知道从哪里开始

[edit] procmon表示HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Windows.AddColumns\添加列时会读取reg键.但是,我不知道这个注册表部分的含义是什么.

c# shell powershell windows-explorer

5
推荐指数
0
解决办法
714
查看次数

为什么我的contextmenu条目小写?

我正在使用BrendanGrant.Helpers.FileAssociation;(一个NuGet包)为我的应用程序创建文件关联.它到目前为止工作正常.但是,我有一个问题ProgramVerb:

当我创建一个ProgramAssociation并向它添加动词时:

  var pai = new ProgramAssociationInfo(fai.ProgID);

  pai.Create(
    "App name",
    new[]
    {
      new ProgramVerb("Öffnen", Assembly.GetEntryAssembly().Location + " \"%1\""),
      new ProgramVerb("Bearbeiten", Assembly.GetEntryAssembly().Location + " \"%1\"")
    });
}
Run Code Online (Sandbox Code Playgroud)

Bearbeiten和Öffnen(编辑和打开)关键字在Windows资源管理器的上下文菜单中是小写的:

在此输入图像描述

我将第二个条目WAAAA命名为测试它是否仅改变第一个角色,但显然不是.

我需要更改什么,以便我的Bearbeiten和Öffnen在上下文菜单中是大写的?

c# windows windows-explorer file-association

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