dir命令php,使用DIR命令排除多个文件夹

博主寻求一种更高效的方法,用DIR命令在Windows中排除Admin、Default等预设文件夹,只列出userprofile配置文件,讨论了现有脚本的局限,并希望使用变量和循环来优化。讨论了可能的解决方案和需求调整。
摘要由CSDN通过智能技术生成

我使用DIR命令在搜索排除多个文件的论坛。但没有找到我真正需要的。有些甚至使用PHP或VBS,真的不知道它们是如何工作的。使用DIR命令排除多个文件夹

我想要做的是*目录所有配置文件夹,也不包括某些默认文件夹,这是显示该计算机上的配置文件的数量和数量的一部分。

我会多解释一下,因为我可能不完全了解我的需求。

如果我使用DIR没有findstr。

DIR /A:d /B "F:\Documents and Settings"

输出:

Administrator

All Users

Default User

LocalService

userprofile1

NetworkService

userprofile2

...

userprofileN

但我的实际需求是:

userprofile1

userprofile2

...

userprofileN

我也拿到了这么远跟我的脚本了。

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

IF ERRORLEVEL 1 ECHO Your OS does not support enable extensions

DIR /A:d /B "F:\Documents and Settings" | findstr /v "Admin" | findstr /v "Default" | findstr /v "LocalService" | findstr /v "NetworkService"

EXIT

我的上面的脚本实际上工作,但是是固定的,可能不是很好编码。 我会问有没有可能使用对于循环来缩短多长的findstr管道并设置一个包含要排除的文件夹名称的变量? 我倾向于使用变量而不是包含要排除的文件夹的文本文件。

我想出了下面却复制了输出中:

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

IF ERRORLEVEL 1 ECHO Your OS does not support enable extensions

SET xUser="Admin" "Default" "hi_I_will_be_future_added"

FOR %%A IN (!Xuser!) DO (

DIR /A:d /B "F:\Documents and Settings" | findstr /v %%A

)

谢谢你对这个伟大的论坛,并为所有可能帮助了我和其他人。

+1

'DIR/A:d/B“F:\ Documents and Settings \ userprofile *”'? –

+0

我对userprofile1-N感到抱歉,它只是一个虚拟名称。如果所有的用户都是这样命名的,那么你的脚本可能真的有效。不管怎样,谢谢。 –

+0

哎呀!当我阅读描述时,我非常可视!例如,'DIR'命令显示用户配置文件的完整路径,但您说“我的实际需求是:”并显示_just profiles_因此,是否要删除路径? '';-)。看到我的答案在下面... –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值