GVKun编程网logo

如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点

13

本篇文章给大家谈谈如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点,同时本文还将给你拓展.NETCore和.NETFramework

本篇文章给大家谈谈如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点,同时本文还将给你拓展.NET Core和.NET Framework之间Directory.EnumerateFiles的行为不一致、active-directory – 使用Windows加入Lion Open Directory是否真的有效?、Apache ErrorDocument外部redirect与variables、apache 提示 DocumentRoot must be a directory等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点

如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点

Dim dirs As List(Of String) dirs = New List(Of String)(IO.Directory.EnumerateDirectories(path,"*",SearchOption.AllDirectories))

以下代码大部分工作正常,但由于连接点,在c: users documents文件夹中总是失败。

我得到以下exception和堆栈跟踪。

有没有一种方法来排除连接点和使用EnumerateDirectories或将不得不编写代码手动获取目录名称和忽略/处理交界点?

例外:

{“访问path'C: Users jkfredri Documents 我的音乐'被拒绝。”}

File.copy()从networking共享到另一个共享在同一台机器上通过networking复制文件?

命令行窗口编译器(cl.exe)目标

C#:什么是最快的方式来生成一个唯一的文件名?

从Windows机器与SSH会话交互的最简单方法?

在C#中使用Socket改进TCP转发器

堆栈跟踪:

System.IO.FileSystemEnumerableIterator 1.AddSearchableDirsToStack(SearchData localSearchData)" & vbCrLf & " at System.IO.FileSystemEnumerableIterator ”在System.IO.__ Error.WinIOError(Int32 errorCode,String maybeFullPath)“&vbCrLf&”1.MoveNext() System.Collections.Generic.List中的“&vbCrLf&” 1..ctor(IEnumerable 1集合)“&vbCrLf&”位于C: Users \ Visual Studio中BUDWindows.BUD.FileSystem.Directory.GetDirectoriesList(String path) Projects Desktop Applications BUDWindows Classes FileSystemManager.vb:第292行“

处理丢失的.NET Framework(0xc0000135)崩溃更好?

如何在Windows窗体上显示必填字段

在任何应用程序中监视select

混合托pipe/非托pipeassembly加载顺序

如何通过互联网更新.net Windows应用程序

有一个FileAttribute指示它是否是一个ReparsePoint条目。 为了解决这个问题,你需要一个DirectoryInfo对象。 由于每一个都需要测试,你可以使用DirectoryInfo.EnumerateDirectories()来获取它们的列表,而不是从你得到的名字中逐一创建它们。

然后,如果您只想要名称,请在ReparsePoint被排除后Select该名称。 扩展方法可以完成大部分的工作:

Dim dInfo = New DirectoryInfo(dpath) Dim DirNames = dInfo.EnumerateDirectories("*.*",SearchOption.TopDirectoryOnly). Where(Function(q) IsReparse(q) = False). Select(Function(q) q.FullName). ToList() For Each s As String In DirNames.ToArray() DirNames.AddRange(Directory. EnumerateDirectories(s,"*.*",SearchOption.AllDirectories)) Next

然后,一个帮手方法:

Private Function IsReparse(d As DirectoryInfo) As Boolean Return ((d.Attributes And FileAttributes.ReparsePoint) = FileAttributes.ReparsePoint) End Function

这将获取Reparse属性为false的顶级文件夹名称,然后迭代这些名称以获取子文件夹名称。 前提是Reparse文件夹将仅位于顶层。 然后就这样,它只是将子文件夹添加到列表中。

显然,即使首先对ReparsePoint进行测试也不会阻止它使用SearchOption.AllDirectories查找它们中的子文件夹。

您可以将FileAttributes测试放在WHERE方法中,但是根据您在做什么,您可能会发现您也想跳过具有System属性的测试。

.NET Core和.NET Framework之间Directory.EnumerateFiles的行为不一致

.NET Core和.NET Framework之间Directory.EnumerateFiles的行为不一致

这是一个已知问题,报告于https://github.com/dotnet/dotnet-api-docs/issues/4052

active-directory – 使用Windows加入Lion Open Directory是否真的有效?

active-directory – 使用Windows加入Lion Open Directory是否真的有效?

根据 https://help.apple.com/advancedserveradmin/mac/10.7/#apd52648A71-571A-433C-81A8-2A7792333F22,可以使用Windows机器加入Lion Open Directory,使其认为它正在加入Active Directory域.

然而,在实际开展这项工作时,我没有取得任何成功.

首先,甚至没有创建DNS中的SRV记录(在同一个运行OpenDirectory的Lion服务器上).

一旦我手动添加,复制真实Active Directory域的真实SRV记录,Windows至少设法找到服务器,但实际连接没有成功:

DNS was successfully queried for the service location (SRV) resource record used to
locate a domain controller for domain "miranda.pilif.home":

The query was for the SRV record for _ldap._tcp.dc._msdcs.miranda.pilif.home

The following domain controllers were identified by the query:
miranda.pilif.home


However no domain controllers Could be contacted.

Common causes of this error include:

- Host (A) or (AAAA) records that map the names of the domain controllers to their IP  
  addresses are missing or contain incorrect addresses.

- Domain controllers registered in DNS are not connected to the network or are not 
  running.

不要关心这个奇怪的领域 – 这是一个在家里运行Lion的测试机.

看到Lion Server的文档到目前为止有多么琐碎,我倾向于认为我上面链接的文档显然不是真的,并且Lion和它的前辈一样不支持播放Active Directory master.

我在这个假设中是正确的还是我在安装Lion时做错了什么?有没有人成功将Windows加入Lion Open Directory?

睁大眼睛,我从SNow Leopard Server升级到Lion Server,为混合环境中的客户端.我知道Lion下缺少域名支持,并且Windows机器不能成为Open Directory的一部分,并且所有Windows客户端的SSO都将消失(这不是什么大问题,因为我必须配置所有Windows 7这种方式的客户端由于缺乏Samba的支持而与SNow Leopard Server捆绑在一起,后者充当了PDC.

所以,我想,嘿,做简单的升级.你失去了pdc,但谁真的在乎呢?因此,在采取“暴跌”之后,所有Windows机器都无法连接之前可用的预升级股票上的任何股票.我可以smb://从mac到服务器,但不是从windows到服务器.我收到的消息就像资源无法访问…

经过一周多的来回与苹果的支持,我仍然没有更接近,但是,作为管理员,我可以使用直接IP地址连接到服务器(但不是用户帐户 – 即使我让他们管理员…我也觉得好奇)…这是一个线索,它与用户帐户和特权有关,在迁移过程中丢失了一些东西.

配置工具对于Lion Server来说非常糟糕,为您提供了最少的选项和很少的文档,说明了去哪里或如何解决问题.例如,我无法找到将用户名更改为Windows用户的位置和/或方式.没有任何记录.事实上,Windows支持是每个共享旁边的一个小复选框,询问您是否要与Windows客户端共享.工作组名称 – 无处,域,无处,机器名称,无处. ARRGH.单击服务器图标可以调整服务器名称.更改此选项仅影响Mac客户端,而不影响Windows.

最后,Apple代表给了我一个关于每个人如何参与竞争的口头服务,他们并不真的希望彼此谈论……而且他们这样做的事实是一个奇迹.不要买它,我猜他没有给我的建议.

在安装了Server utils的新配置的10.7机器上,没有问题连接到Windows客户端的共享,因此此配置与广告一样工作…而不是升级.

我的下一步是吹掉OD并将其与股票一起重建,看看是否可能是原因.敬请关注.再过几个小时我就不会回来了.

后视推荐…… SNow Leopard Server版本运行正常.不要’升级’. Lion Server提供的工具过于简单,任何实际配置都必须通过命令行完成…… Apple还不知道如何解决问题.如果你想冒险,那就去吧……如果你以意想不到的方式陷入困境,不要感到惊讶.一周的生产力对我而言.

Apache ErrorDocument外部redirect与variables

Apache ErrorDocument外部redirect与variables

在Apache中是这样的可能…(即redirect到一个外部的URL与导致403错误传递的path)

ErrorDocument 403 http://www.sample.com/{{REDIRECT_URL}}

SetEnv TZ与date.timezone

如何使apache运行pyc文件(python编译的文件)

Apache Nutch命令无法执行

防止PHP和Apache输出缓冲

如何保持一个持久的PHP脚本运行?

我创建/出版目录,但我想这将由主index.PHP服务,这里有文件在这个目录。

/ Publication?page = 1将由/index.PHP提供服务,/Publication/file.pdf是驻留在这个目录中的文件。

由于/ Publication目录没有被列出的许可,Apache returend 403错误。 当你将403错误重定向到/index.PHP时,你不能捕获变量。 我认为REDIRECT_QUERY_STRING变量可以被使用,但这会弄乱我的PHP类。

我改变了mod_rewrite配置来抓取目录服务,看到'#',删除了ErrorDocument 403指令,因为没有必要。

<Ifmodulee mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f # RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ index.PHP?path=$1 [L,QSA] </Ifmodulee>

我拥有的

/Publication > /index.PHP?path=Publication /Publication/?page=1 > /index.PHP?path=Publication&page=1 /Publication/file.pdf > /Publication/file.pdf

ErrorDocument配置选项,不幸的是,不支持服务器变量扩展。 你可以尝试的是使用本地脚本,这将为您发出重定向。

ErrorDocument 403 /cgi-bin/error.cgi

请注意,该脚本必须是本地的,否则您将不会获得通过的REDIRECT_*变量。 而在脚本本身,你可以发出重定向语句:

#!/usr/bin/perl my $redirect_status = $ENV{'REDIRECT_STATUS'} || ''; my $redirect_url = $ENV{'REDIRECT_URL'} || ''; if($redirect_status == 403) { printf("Location: http://%s%sn",'www.sample.com',$redirect_url); printf("Status: %dn",302); } print "n";

有关更多见解,请参阅Apache文档http://httpd.apache.org/docs/2.4/custom-error.html

是! 但是只能从Apache 2.4.13开始:

从2.4.13开始,可以在指令中使用表达式语法来生成动态字符串和URL。

(从https://httpd.apache.org/docs/2.4/mod/core.html#errordocument )

以下配置将导致HTTP 302响应:

ErrorDocument 403 http://www.example.com%{REQUEST_URI}

请注意缺少斜杠,因为%{REQUEST_URI}以斜线开始。

我认为这是可能的文档说.. http://httpd.apache.org/docs/2.0/mod/core.html#errordocument

也许这样:

ErrorDocument 403 http://www.sample.com/?do=somthing

apache 提示 DocumentRoot must be a directory

apache 提示 DocumentRoot must be a directory

环境 centos 6.4

在将 apache 默认目录修改为 home 下的目录时候,重启 apache 会提示 DocumentRoot must be a directory.

一般情况下 SElinux 不允许 home 作为 web 目录。下面命令可以查看。

getsebool -a |grep httpd_enable_homedirs


解决方法就是

setsebool httpd_enable_homedirs on
之后重启 apache 就可以了!


今天关于如何在使用IO.Directory.EnumerateDirectories时忽略Documents文件夹中的连接点的讲解已经结束,谢谢您的阅读,如果想了解更多关于.NET Core和.NET Framework之间Directory.EnumerateFiles的行为不一致、active-directory – 使用Windows加入Lion Open Directory是否真的有效?、Apache ErrorDocument外部redirect与variables、apache 提示 DocumentRoot must be a directory的相关知识,请在本站搜索。

本文标签: