如何获取共享文件夹列表并删除使用批处理文件共享所需文件夹

时间:2017-03-05 12:22:40

标签: windows batch-file batch-processing

我正在使用此命令获取共享文件夹列表:

net view "hostname" /all

我正在用我的计算机名替换主机名。我只能获取共享文件夹的列表,但如何使用批处理文件将其删除。

我真正想要做的是创建一个批处理文件,扫描共享文件夹并删除所有文件夹。没有用户输入。

可以通过运行hostname命令并在实际脚本中替换它来捕获主机名。像这样,但我如何获取文件路径并从中删除共享。

FOR /F "usebackq" %%i IN (`hostname`) DO SET MYVAR=%%i

net view %MYVAR% /all

更新答案

我试过了:

@echo off
FOR /F "usebackq" %%i IN (`hostname`) DO SET MYVAR=%%i

for /F %%a IN ('wmic /node:"%MYVAR%" share get path^|findstr "\<E:\>"') DO (
echo %%a
NET SHARE %%a /DELETE
)

endlocal

但问题是我只需要为驱动器号找到正确的正则表达式。你能否建议一些正确的正则表达式来识别正确的驱动器号?

1 个答案:

答案 0 :(得分:0)

尝试使用%computername%变量,而不是使用for /f循环

net view %computername% /all

然后删除共享,请使用

net share %computername% /delete