Batch file 从cygwin中的网络共享(vmware共享文件夹)运行批处理文件

Batch file 从cygwin中的网络共享(vmware共享文件夹)运行批处理文件,batch-file,cygwin,unc,Batch File,Cygwin,Unc,我在cygwin和映射网络驱动器方面遇到一些问题。我的设置有点复杂,无法处理我们公司VPN的一些限制。我正在VMware Fusion下运行一个Windows 10虚拟机,其中有一个来自Mac主机的共享文件夹,该文件夹映射到Windows中的网络驱动器。原因是b/c I使用VPN连接访问远程Git repo,该VPN连接利用了浏览器插件,不幸的是,该插件目前仅在Safari中工作。我需要从Mac主机上运行git命令,但该项目的构建/开发环境是Windows。VPN浏览器插件无法安装在Window

我在cygwin和映射网络驱动器方面遇到一些问题。我的设置有点复杂,无法处理我们公司VPN的一些限制。我正在VMware Fusion下运行一个Windows 10虚拟机,其中有一个来自Mac主机的共享文件夹,该文件夹映射到Windows中的网络驱动器。原因是b/c I使用VPN连接访问远程Git repo,该VPN连接利用了浏览器插件,不幸的是,该插件目前仅在Safari中工作。我需要从Mac主机上运行git命令,但该项目的构建/开发环境是Windows。VPN浏览器插件无法安装在Windows下的任何浏览器中。希望这是一个暂时的问题,但我现在必须解决

在我的cygwin环境中,映射的驱动器没有显示在/cygdrive下,可能是b/c,它是一个hgfs文件系统类型的共享文件夹。我可以挂载共享文件夹,但当我尝试从cygwin环境运行批处理文件时,出现以下错误:

./OpenCommandPrompt.bat
'\\vmware-host\Shared Folders\grant\Projects\lts\Product'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.
The system cannot find the path specified.
'setenv.bat' is not recognized as an internal or external command,
operable program or batch file.
'setclasspath.bat' is not recognized as an internal or external 
command, operable program or batch file.
C:\Windows>

它不喜欢UNC路径。我能够使用映射的驱动器号在PowerShell中运行命令,但cygwin没有成功。我的愿望是运行VM headless并通过SSH从主机访问Windows环境,因此如果可能的话,我希望能够从cygwin环境中实现这一点。有什么建议吗?

我可以通过创建一个简单的脚本来解决我的问题,该脚本由我的.bash\u配置文件执行。我基本上检查/cygdrive/h文件夹是否存在,如果不存在,则执行脚本

#!/bin/bash
net use H: '\\vmware-host\Shared Folders\share'
我尝试从Windows映射驱动器,但所有尝试都未能在cygwin的/cygdrive文件夹下注册驱动器映射。这就是我试图克服的问题。一旦将映射驱动器置于/cygdrive下,我就能够执行所有批处理脚本


老实说,我仍然不确定为什么从Windows映射驱动器时不将其注册为cygwin。反之亦然:如果我从终端执行net命令,它不会在资源管理器中注册。

请参阅。我建议重写批处理文件,使其与UNC路径一起工作,并且独立于当前目录。不幸的是,您没有发布批处理文件的代码,这将导致执行时出现所有这些错误消息。因此,我们无法真正帮助您重写此批处理文件。请看本节最后两段。代码是继承的,有100个批处理文件受到影响,我不想更改。这就是为什么我没有发布批处理文件。我正在研究不需要更改批处理文件的修复程序。