Batch>当拒绝访问文件夹/文件时,Dir命令会跳出,只想跳过它,或者替代方法

问题描述 投票:0回答:1

TLDR:想阻止DIR接触它无法访问的文件夹,因为它在尝试时崩溃了,或者有另一种方法可以执行与DIR / s / b和DIR / s完全相同的审核,但是出错率更高处理/只是跳过而不是崩溃的容量。

理论上,没有什么复杂的。

DIR /s /b "folder\">"outputfile.txt"

问题,它在网络上。从理论上讲,没有什么复杂的

DIR /s /b "\\servername\sharefolder\">"outputfile.txt"

问题:我正在尝试审核运行Docker容器的共享。而且DIR会在遇到无权访问的内容时立即清除。

我正在尝试进行审核,这是一个很大的文件列表。我可以让自己完全忽略某些文件夹,但我的目的不是要使它们从输出文件中消失。我需要DIR不要越过它们,否则会使鼻子掉下来。

没有发布全部内容,该脚本正在运行一堆变量,基本上可以对与SMB共享的每个磁盘进行自动审核,但是即使对这些共享具有相当高的访问权限,某些文件夹(如ngix或正在运行的应用程序中的文件夹)仍处于锁定状态...这本身并不是一件坏事。

真正的问题是,每当DIR出现问题时,脚本就会继续有效地跳过整个驱动器份额的整个剩余部分,从而生成愚蠢的无用审核文件。

我基本上已经花了4个小时,对于这个比基本命令还要疯狂的人。

[理想的解决方案是,我可以轻松地声明遇到的文件夹要跳过,无论它们在文件夹树中有多深,也可能能够跳过文件夹路径,例如appname\foo\ngix,也就是使其跳过ngix仅在appname\foo\中。

我将尽可能避免使用.vbs“伴侣”,但是如果它确实起到了作用,我可能最终会采用它,并吐出与DIR /sDIR /s /b相同的数据格式(因为是的,我需要元和原始)。

感谢您阅读我,我希望有人能对此失败提供一些帮助!

windows batch-file directory skip
1个回答
0
投票

使用此:

DIR /s /b "\\servername\sharefolder\" 2>nul 1>"outputfile.txt"

2>nul可防止将Errors(STDERR)重定向到文本文件。仅输出被重定向,而不是错误。因此,这意味着如果发生任何错误,dir将不会将任何内容重定向到文本文件。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.