我运行'net use / user:'某人“\ somewhere”,它适用于cmd.exe。
使用相同的cmd.exe,运行'bash --login -i'以使用cygwin / bash,并运行相同的命令,但我收到如下错误消息。
System error 67 has occurred.The network name cannot be found.
为什么我不能用cygwin / bash运行'net use / user'命令?
答案 0 :(得分:13)
在cygwin的bash中,你需要转义任何 forward 反斜杠,因为它们被解释为转义字符。
试试这个
net use /user:"Someone" \\\\server\\share
或使用单引号,它将传递参数不变
net use /user:"Someone" '\\server\share'
答案 1 :(得分:3)
我尝试在windows中使用bash中的net use使用/ delete开关时遇到了问题。它似乎与某些Windows命令处理命令行参数的方式有关。
我以为我可以通过从cmd.exe子shell启动“net use”来绕过它,但这似乎也受到参数处理问题的影响。我在引用中找到了一个解决cmd.exe的工作,但似乎找不到直接使用net use来完成任务的正确引用。
$ cmd "/c net use T: /delete"
答案 2 :(得分:0)
在MSYS / Git Bash中,以正斜杠开头的参数由 POSIX到Windows 路径转换
转换。
(即/delete
看起来像路径,并转换为C:\Program Files\Git\delete
之类的东西。)
有两种解决方案可以避免这种转换:
将第一个斜杠加倍,以避免POSIX到Windows的转换:
net use //user
# outputs usage of NET USE
net use T: //delete
# outputs "T: was deleted successfully."
使用临时环境变量MSYS_NO_PATHCONV=1
,如下所示:
MSYS_NO_PATHCONV=1 net use /user
# outputs usage of NET USE
MSYS_NO_PATHCONV=1 net use T: /delete
# outputs "T: was deleted successfully."
来源/说明:Bash translates path parameter in Unix format to windows format, need a way to suppress it #577
更新:如bobbogo的注释中所建议,提及MSYS用于此答案。