修复 P4 命令行以始终工作

Phr*_*ogz 4 windows command-line perforce

摘要:p4除非我从 P4V 打开外壳,否则Perforce 命令行无法正常工作。我如何/在哪里编辑内容以修复我的配置以使其始终有效?

细节

在 Windows 7x64 上,如果我运行cmd.exe然后使用 p4 命令行,它会尝试连接到不再存在的旧服务器:

C:\>p4 info
Perforce client error:
        Connect to server failed; check $P4PORT.
        TCP connect to p4proxy-bdr:2006 failed.
        connect: p4proxy-bdr:2006: WSAETIMEDOUT

C:\>echo %P4PORT%
%P4PORT%
Run Code Online (Sandbox Code Playgroud)

但是,如果我启动 P4V(连接到正确的服务器),右键单击我的工作区中的任何文件并选择“在此处打开命令窗口”,相同的命令可以正常工作:

C:\>p4 info
User name: gkistner
Client name: gkistner-dt2
Client host: gkistner-dt2
Client root: C:/p4/p4sw
Current directory: c:\
Peer address: <redacted>
Client address: <redacted>
Server address: <redacted>
Server root: <redacted>
Server date: 2013/08/13 10:05:09 -0700 PDT
Server uptime: 1512:04:23
Server version: <redacted>
Server license: <redacted>
Server license-ip: <redacted>
Case Handling: sensitive

C:\>echo %P4PORT%
p4sw:2006
Run Code Online (Sandbox Code Playgroud)

当我从 vanilla 启动 P4 时,它在哪里获取配置,我cmd.exe如何将其更改为与 P4V 设置的相同?

Phr*_*ogz 7

P4的命令行设置可以通过命令进行设置p4 set。在没有参数的情况下,在工作 shell 下,它列出了当前值:

C:\>p4 set
P4CLIENT=gkistner-dt2
P4EDITOR=C:\Windows\SysWOW64\notepad.exe (set)
P4PASSWD=<redacted> (set)
P4PORT=p4sw:2006
P4USER=gkistner
Run Code Online (Sandbox Code Playgroud)

然后,转到非工作 shell 并复制/粘贴其中的每一个,并以 为前缀p4 set

C:\>p4 set P4CLIENT=gkistner-dt2
C:\>p4 set P4EDITOR=C:\Windows\SysWOW64\notepad.exe
C:\>p4 set P4PASSWD=<redacted>
C:\>p4 set P4PORT=p4sw:2006
C:\>p4 set P4USER=gkistner
Run Code Online (Sandbox Code Playgroud)

现在你可以关闭这个 shell 并打开任何一个新的 shell,P4 就可以工作了。