2468567855 发表于 2024-7-24 16:11

快速取消共享文件夹的批处理脚本

本帖最后由 2468567855 于 2024-7-24 16:14 编辑

本批处理脚本用于取消指定文件夹的共享设置。用户可以输入要取消共享的文件夹路径,脚本会提取该文件夹的名称作为共享名,并请求用户确认是否取消共享。

使用方法
[*]运行脚本:

[*]双击运行 取消共享.bat 文件。
[*]输入文件夹路径:

[*]在提示处输入要取消共享的文件夹的完整路径。例如:C:\MyFolder\ABC\CBA\AAA。
[*]确认取消共享:

[*]脚本会显示提取的共享名,并询问用户是否确认取消共享。
[*]输入 y 确认取消共享,输入 n 取消操作。
[*]完成操作:

[*]根据用户的选择,脚本会尝试取消共享。
[*]如果成功取消共享,会显示成功消息;否则会显示错误消息。

示例
假设要取消共享路径为 C:\MyFolder\ABC\CBA\AAA 的文件夹,执行脚本后的交互如下:
请输入要取消共享的文件夹完整路径 (例如 C:\MyFolder\ABC\CBA\AAA): C:\MyFolder\ABC\CBA\AAA
您确定要取消 'AAA' 的共享吗?(y/n): y
正在取消共享 'AAA'...
'AAA' 的共享已成功取消。
Press any key to continue . . .

注意事项
[*]确保脚本运行时具有管理员权限,否则无法取消共享。
[*]输入的文件夹路径必须是有效的本地路径。



脚本代码

1@echo off2chcp 65001 >nul3setlocal enabledelayedexpansion45:: Prompt the user to input the folder path to stop sharing6set "folderPath="7set /p "folderPath=请输入要取消共享的文件夹完整路径 (例如 C:\MyFolder\ABC\CBA\AAA): "89:: Initialize the share name variable10set "shareName="1112:: Find the last backslash and extract the last directory name13for %%A in ("%folderPath%") do (14    set "shareName=%%~nxA"15)1617:: Ask for confirmation before unsharing18set /p "confirm=您确定要取消 '!shareName!' 的共享吗?(y/n): "1920if /i "%confirm%"=="y" (21    echo 正在取消共享 '!shareName!'...22    net share "!shareName!" /delete >nul 2>&123    if not errorlevel 1 (24      echo '!shareName!' 的共享已成功取消。25    ) else (26      echo 错误:无法取消共享 '!shareName!'。27    )28) else (29    echo 已取消目前操作。30)3132pause33exit /b



一键设置文件夹共享的可以看我上一篇:https://www.52pojie.cn/thread-1945510-1-1.html





另外附上一个查看当前局域网用户和本机计算机IP及计算机名称的脚本


脚本代码

1@echo off2chcp 65001 >nul3setlocal enabledelayedexpansion45echo.6echo 当前局域网用户:7arp -a8echo.910echo 当前用户的IP及计算机名称:1112rem 获取本机IP地址13for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /c:"IPv4"') do (14    set ip=%%a15    set ip=!ip:~1!1617    rem 使用 ping 命令获取IP地址对应的计算机名称18    for /f "tokens=2 delims=: " %%i in ('ping -a !ip! -n 1 ^| findstr /i "Pinging"') do (19      rem 去掉首尾空格20      set name=%%i21      set name=!name:~1,-1!22      echo IP: !ip!   计算机名称: !name!23    )24)25echo.26pause27exit /b


archon1 发表于 2024-7-24 16:58

太麻烦了,直接WIN+R,fsmgmt.msc,这都不知道要方便多少。
如果一定要在cmd下操作,直接net share列出所有共享项,用鼠标直接选择共享名直接删除不是方便多了。
而且你的输入文件夹路径并没有验证一下是否是有效路径。

babylonmax 发表于 2024-7-24 16:28

正需要这个呢

CharlesChan99 发表于 2024-7-24 16:33

可以,学习了

kangta520 发表于 2024-7-24 16:41

学习了,谢谢分享

supernox 发表于 2024-7-24 16:50

感谢分享~~~~

jun269 发表于 2024-7-24 16:53

这个也不方便,就光是手动输入路径,这个都是一个大工程,不能保证每个人都能输入正确

weipohai 发表于 2024-7-24 16:54

谢谢,能玩bat的,都得赞一个,

jun269 发表于 2024-7-24 16:54

要想所有人都能无障碍使用,必须得是UI界面的操作才可靠。

blbl 发表于 2024-7-24 17:11

要想所有人都能无障碍使用,必须得是UI界面的操作才可靠。
页: [1] 2 3 4
查看完整版本: 快速取消共享文件夹的批处理脚本