Windows bat文件错误

时间:2011-05-10 12:07:39

标签: batch-file

我尝试在网络共享上启动BAT文件,但是我收到此错误:

'\\dev\applets'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.

有解决方法吗?

谢谢!

5 个答案:

答案 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