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

 更新时间:2020年6月30日 23:53  点击:1489

废话少说,直接上代码,打开网上邻居→整个网络→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

这篇文章就介绍到这了。

[!--infotagslink--]

相关文章

  • Cloudflare国内自选IP节点整理收录

    一般来说为了达到隐藏自身 IP,我们都会选择一些 CDN 服务,目前用的最多的免费 CDN 是 Cloudflare。但是正常情况下 Cloudflare 是不能自己选择IP,有时候分配给我们的 IP 可能表现不佳,也只能将就着用。但是我们都希望可以用上 CF 比较快的 IP。那么自选IP,就显得很必要了。...2022-09-23
  • 2022年最新Cloudflare免费自选IP教程(非Partner)

    写在开头众所周知,CF在去年底大规模禁用Host API key,使得Partner自选法失效.但最近,Cloudflare为所有计划添加了100个SaaS域免费额度(以前$2一个).经过一番摸索,这个船新的...2022-09-23
  • DOS的重定向命令使用方法以及在安全方面的应用

    大家知道,DOS下有一个不为大家所常用的命令——重定向命令,这个小东西非常有用,灵活的使用这个命令可以给我们带来很大的方便——无论是入侵还是防守抑或是系统应用,都会带来很大的便利,今天就让 我们来看几个重定向命令在安全方面的应用实例...2020-06-30
  • dos之net创建管理员用户的实现

    这篇文章主要介绍了dos之net创建管理员用户的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-30
  • MySQL基于DOS命令行登录操作实例(图文说明) 原创

    这篇文章主要介绍了MySQL基于DOS命令行登录操作,以图文形式结合实例说明了MySQL登录命令的基本用法,非常简单易懂需要的朋友可以参考下...2016-01-15
  • DOS比较运算符(LSS,LEQ,GTR,GEQ,EQU,NEQ)

    这篇文章主要介绍了DOS比较运算符(大于、小于、等于)等,主要是用于判断文件日期大小等,方便后续操作...2021-09-12
  • Golang的func参数及返回值操作

    这篇文章主要介绍了Golang的func参数及返回值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-04
  • 利用bat批处理程序通过DOS命令行删除所有的空文件夹的方法

    这篇文章主要介绍了利用bat批处理程序通过DOS命令行删除所有的空文件夹的方法,感兴趣的朋友跟随脚本之家小编一起学习吧...2020-06-30
  • DOS命令行下使用HaoZip进行文件压缩的方法

    这篇文章主要介绍了DOS命令行下使用HaoZip进行文件压缩的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-30
  • DOS DEBUG实用小程序集锦

    这篇文章主要介绍了DOS DEBUG实用小程序集锦,各种dos高级使用技巧,需要的朋友可以参考下...2021-09-12
  • dos下清除打印缓存及重启打印服务

    为什么要清除打印机缓存?因为 Windows 在打印文件时,把要打印的文件转存到 Windows 里面了,并没有直接发送到打印机,如果打印文件失败。下次打印机连接时,会自动打印,浪费不少纸张和耗材...2020-06-30
  • 使用.NET中的Action及Func泛型委托深入剖析

    委托,在C#编程中占有极其重要的地位,委托可以将函数封装到委托对象中,并且多个委托可以合并为一个委托,委托对象则可以像普通对象一样被存储、传递,之后在任何时刻进行调用,因此,C#中函数回调机制的实现基本上依赖于委托,感兴趣的朋友可以参考下...2021-09-22
  • 基于Python执行dos命令并获取输出的结果

    这篇文章主要介绍了基于Python执行dos命令并获取输出的结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-08
  • 造成美国断网的“凶手论坛”,终于关闭了DDoS版块

    就在上个月,美国来了一次史无前例的大断网。...2016-11-15
  • 经常用的DOS命令大全(经典收藏)

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

    DOS下常用网络相关命令解释 Arp 显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协 议之后才可用。 ar...2016-11-25
  • C/C++中一次性执行多个DOS命令的实现思路

    在C语言中执行DOS命令的方法很多,在这就不一给大家一一介绍了,本文重点给大家介绍C/C++中一次性执行多个DOS命令的实现思路,需要的朋友参考下...2020-04-25
  • DOS批处理不支持将UNC 路径作为当前目录的解决方法

    在有些时候,需要在批处理中操作UNC目录,但批处理并不能直接对UNC目录进行操作,怎么办,这里就为大家分享一下解决方法,需要的朋友可以参考下...2020-06-30
  • 详解Func<T>与Action<T>区别

    本文主要介绍Func<T>和Action<T>的用法以及他们之间的区别,希望对大家有所帮助...2021-09-22
  • C#调用dos窗口获取相关信息的方法

    这篇文章主要介绍了C#调用dos窗口获取相关信息的方法,涉及C#调用dos窗口及进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25