中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 23:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理共享多盘符 查看 727 回复 1
楼 主 批处理共享多盘符 发表于 2010-01-31 13:22 ·  中国 上海 电信
初级用户
积分 28
发帖 17
注册 2008-12-20 14:05
17年会员
UID 134438
性别 男
状态 离线
C:\Documents and Settings\Administrator>for /f "usebackq" %S in ("c:\Documents a
nd Settings\Administrator\桌面\disk.txt") do net share %S=%S:
桌面上放个disk.txt文本文件,
内容如下:
e
f
g
h
i
j
k
l



这样可以,共享名如果和卷标同名,就完美了,
那位仁兄补充一下:
2 top 发表于 2010-02-03 14:12 ·  中国 上海 电信
初级用户
积分 28
发帖 17
注册 2008-12-20 14:05
17年会员
UID 134438
性别 男
状态 离线
@echo off
title 正在启用e-l盘共享**************

rem 记取盘符字母 %%d
rem 延迟变量,使外部errorlevel不影响内部errorlevel

setlocal enabledelayedexpansion
for /f "" %%d in (d:\mydocs\disk.txt) do (
echo %%d
vol %%d: | find "驱动器" >c:\%%d.txt
rem 读取vol名称作为共享名 %%n
for /f "tokens=4" %%n in (c:\%%d.txt) do (
echo %%n
echo %%n | find "+" >nul
echo !errorlevel!
if !errorlevel!==0 (net share %%d=%%d:\) else (net share %%n=%%d:\)
)
)
echo 共享成功
echo powered by qiuhui 2010-1-31 in sytwb
ping 1 -n 1 -w 5000 >nul
rem
rem vol %%d: | find "驱动器" >c:\%%d.txt
rem for /f "tokens=4" %%n in (c:\%%d.txt) do (echo %%n

rem net share %%n=%%d:\
rem )


这样就好一些了,可以用卷标名称做共享名,清晰多了
论坛跳转: