我尝试在网络共享上启动BAT文件,但是我收到此错误:
'\\dev\applets'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.
有解决方法吗?
谢谢!
答案 0 :(得分:7)
您是否有机会先安装网络共享?
net use \\dev\applets z:
z:\mybatchfile.bat
答案 1 :(得分:6)
如果您想要没有驱动器映射,可以使用Microsoft KB中的registry hack。
答案 2 :(得分:6)
您可以让命令行处理器在批处理脚本启动时自动将UNC路径映射到驱动器:
pushd %~dp0
echo %CD%
popd
执行popd命令或脚本结束时,驱动器将自动取消映射。
唯一的缺点是脚本运行时仍然会收到错误消息。
答案 3 :(得分:5)
我遇到了同样的问题..当脚本运行得很好时,CMD.EXE标题很烦人。
要压缩该文本,我只需将CLS称为我脚本的第一行。
这将删除那个令人讨厌的CMD.EXE标题,然后显示你想要的任何内容。
希望这有帮助。
答案 4 :(得分:3)
您可以创建映射网络驱动器。假设您使用的是Windows XP,则该过程为:
在Windows资源管理器窗口中,
Tools
Map Network Drive
X:
和\\dev\applets
)Finish
您现在可以输入
x:
cd applets
在命令提示符下运行批处理文件。
<强>替代地强>
您还可以使用NET USE命令映射网络驱动器。 e.g。
NET USE X: \\dev\applets
x:
您可以测试ERRORLEVEL以查看命令是否成功完成。感谢this精彩的代码,我可以建议这个解决方案:
@echo off
set alpha=zyxwvutsrqponmlkjihg
SET completed=false
FOR /L %%i in (1,1,23) DO CALL :MAPDRIVE
:MAPDRIVE
set drive=%alpha:~0,1%
set alpha=%alpha:~1,23%
IF NOT %completed%==true (
ECHO Attempting to mount drive as %drive%
NET USE %drive%: \\dev\applets
)
IF %ERRORLEVEL% EQU 0 SET completed=true
GOTO END
:END