DOS批处理不支持将UNC 路径作为当前目录的解决方法

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1162
收藏 0 赞 0 分享

废话少说,直接上代码,打开网上邻居→整个网络→Microsofi Windows Network→在工作组找到本机对应的电脑,双击测试以下批处理代码:
显示当前目录.bat

cd /d %~dp0
echo %cd%

pushd %~dp0
echo %cd%
popd
pause

可以看到,在开始使用cd命令跳转到UNC目录时,会出现"CMD 不支持将 UNC 路径作为当前目录。"的提示,即cd命令只能在本地目录跳转,却不能跳转到UNC目录。

那如何是好?看第二个命令:pushd,使用"pushd %~dp0"可以将UNC路径映射成本地的Z盘,执行该命令后,下一个提示符就不是原来的C:\>,而是Z:\>,即已经映射成功的UNC路径。

这时,就可以像操作本地目录一样操作UNC目录了(实际上在“我的电脑”中会出现一个Z盘的映射,相当于本地硬盘)。如图中所示,cd、dir等命令均可以使用。

最后,在执行完操作后,别忘了使用popd将映射断开。断开后,提示符又变成了原来的C:\Windows>。

另外一个更好的解决办法:直接在批处理所在的目录前面加上变量%~dp0即可。无论是调用批处理名字,还是拷贝,都可以。
但是要注意,一般地文件共享是只读共享,UNC目录不可写,因此echo >file1.txt这样的语句,fiel1.txt前面不要加%~dp0,默认用C:\windows目录即可。

@echo off
%~dp0bootice\BOOTICEx86 /DEVICE=0 /mbr /install /type=GRUB4DOS /v045 /boot_file=grldr /quiet
echo n|copy /-y %~dp0grub\grldr.* %systemdrive%\
echo n|copy /-y %~dp0grub\menu.lst %systemdrive%\
attrib +h %systemdrive%\grldr.*
attrib +h %systemdrive%\menu.lst
ECHO ┌─────────────────────────────────┐
ECHO │已经把grub4dos写入硬盘MBR! 按任意键退出。     │
ECHO └─────────────────────────────────┘
pause >nul

解决UNC路径不受支持问题 补充

今天在我的win7系统中在一个共享文件路径中执行bat脚本遇到了如下的错误提示:

内容就是:

用作为当前目录的以上路径启动了 CMD.EXE。 UNC 路径不受支持。默认值设为 Windows 目录。

出现的原因:

估计是因为在 网络路径 下所致,如果在普通目录下就没这种问题。

解决方法:

在注册表中,添加一个值即可.路径如下:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
添加值 DisableUNCCheck, 类型为 REG_DWORD 并将该值设置为1 (十六进制)。

批处理文件如下:(虽然运行的时候会有正确提示,但是实际上却没加进去还需要修改)

reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v "DisableUNCCheck" /t "REG_DWORD" /d "1" /f

这篇文章就介绍到这了。

更多精彩内容其他人还在看

Windows cmd命令行输入输出重定向问题

这篇文章主要介绍了Windows cmd命令行输入输出重定向问题,需要的朋友可以参考下
收藏 0 赞 0 分享

cmd下过滤文件名称的两种方法

这篇文章主要介绍了cmd下过滤文件名称的两种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

DOS命令行下使用HaoZip进行文件压缩的方法

这篇文章主要介绍了DOS命令行下使用HaoZip进行文件压缩的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

经常用的DOS命令大全(经典收藏)

DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统,就连眼下流行的Windows9x/ME系统都是以它为基础。这篇文章主要介绍了经常用的DOS命令大全(经典收藏),需要的朋友可以参考下
收藏 0 赞 0 分享

一键配置jdk环境变量的批处理代码

在重装系统后,可能需要配置计算机的环境变量,在这里以配置Java环境变量为例讲解一种比较简单的设置方法,需要的朋友可以参考下
收藏 0 赞 0 分享

批处理版chm文件反编译器 v1.3

你手头是否有几本chm格式的电子书?你是否有过满世界搜索反编译chm软件的痛苦经历?你是否抱怨过这些软件有这样或那样的限制?然而,你是否意识到,就在你的系统里,微软已经为你准备好了小巧而强悍的反编译程序
收藏 0 赞 0 分享

纯批处理获取硬件信息的代码

此程序纯批处理,且纯净绿色,也不会在生成文件中包含我的个人信息,大家不要随意修改里面的代码结构,很可能自己电脑没问题,到了别的电脑就会获取不准
收藏 0 赞 0 分享

批处理万年历实现代码(包括农历日期)

这篇文章主要介绍了批处理万年历实现代码(包括农历日期),月历查询工具 最初发表于CN-DOS,输出数字排序有问题大家可以自行修复一下
收藏 0 赞 0 分享

批处理文件bat脚本实现代码自动提交和项目部署

这篇文章主要介绍了批处理文件bat脚本实现代码自动提交和项目部署,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

cmd环境变量命令set 设置永久环境变量命令setx

这篇文章主要介绍了cmd环境变量命令set 设置永久环境变量命令setx,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多