使用带有SP1的Windows 7企业版,但我希望得到一个适用于Windows XP/2003/2008/Vista/7的通用答案.
在命令提示符下,我执行一个net use
命令将Z:驱动器映射到另一台计算机上的共享,但我不使用我当前的凭据,我指定了一个不同的域和用户来映射驱动器.
net use z: \\rd-pc2037\C_DRIVE password /user:rd-pc2037\Administrator
该命令成功完成.现在驱动器已映射,如何找到用于成功映射驱动器的域和用户名?我似乎无法用net use
命令找到我想要的东西.
C:\Users\rdomarat>net use New connections will not be remembered. Status Local Remote Network ---------------------------------------------------------------------------- OK Z: \\rd-pc2037\C_DRIVE Microsoft Windows Network The command completed successfully. C:\Users\rdomarat>net use Z: Local name Z: Remote name \\rd-pc2037\C_DRIVE Resource type Disk Status OK # Opens 0 # Connections 1 The command completed successfully.
在Windows资源管理器中检查共享的属性并查看安全选项卡,向我显示了不同的人将拥有的权限,但我没有看到DOMAIN\User
我使用了什么.我在注册表中搜索也取得了有限的成功.
任何想法?
我有以下简单的C#应用程序,只是尝试启动"jconsole.exe",它在我的机器上位于C:\ Programs\jdk16\bin.
using System;
using System.Diagnostics;
namespace dnet {
public class dnet {
static void Main( string[] args ) {
try {
Process.Start("jconsole.exe");
Console.WriteLine("Success!");
} catch (Exception e) {
Console.WriteLine("{0} Exception caught.", e);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我的PATH环境变量设置为
c:\windows;c:\windows\sytem32;c:\programs\jdk16\bin
Run Code Online (Sandbox Code Playgroud)
它完美地运作.但是,如果PATH环境变量设置为
c:\windows;c:\windows\sytem32;c:\\programs\jdk16\bin
Run Code Online (Sandbox Code Playgroud)
(注意"c:"和"program"之间的两个反斜杠),它以win32异常失败.
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at dnet.dnet.Main(String[] args)
Run Code Online (Sandbox Code Playgroud)
有趣的是,在我运行.NET程序并获得异常的同一命令提示符中,我只需键入"jconsole.exe",程序就会启动.Windows似乎可以在PATH中使用双反斜杠查找可执行文件,但Process.Start()可以.
为什么PATH中的额外反斜杠会导致问题,以及如何解决问题?我不知道我想调用的可执行文件在运行时的位置,所以我宁愿依赖PATH变量.