我安装了一个应用程序,它搞砸了我的 PATH 变量。现在我无法从命令提示符运行任何东西。有什么办法可以恢复 PATH 变量吗?
可能的重复:
Windows 可以处理的最长文件路径是多少?
有人知道是否可以在 Windows 7(64 位)中扩展最大路径长度?
我遇到了一个奇怪的问题 - 我无法启动 Visual Studio,也无法从命令提示符运行简单的命令,这似乎是因为我的 PATH 变量太长。现在我看到它,我看到许多公司已经将他们的安装目录添加到 PATH 变量中。
我想知道为什么这些公司将他们的文件夹添加到路径中(也许是为了更简单地执行他们的程序?),哪些是必要的,哪些我可以删除。如果我删除其中的一些,我将无法启动这些程序吗?(这是路径中当前存在的内容)
windows path command-line environment-variables visual-studio
当我尝试使用刚刚通过自制软件安装的最新版本的 git 时,我遇到了一个非常奇怪的问题。which git将我指向自制软件安装,但调用git返回与 OS X 一起安装的原始版本。
我首先检查以查看我使用的原始版本。
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)
Run Code Online (Sandbox Code Playgroud)
然后我去自制软件安装最新版本。
[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
/usr/local/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
/usr/local/share/git-core/contrib
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
==> Summary
/usr/local/Cellar/git/2.0.0: 1324 files, 31M
Run Code Online (Sandbox Code Playgroud)
看起来它奏效了!检查它是否指向正确的 git
[user@home ~]$ …Run Code Online (Sandbox Code Playgroud) 我在以下位置安装了旧版本的 Git:
/usr/bin/
Run Code Online (Sandbox Code Playgroud)
我最近下载了一个较新的版本:
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
当我输入:
which git
Run Code Online (Sandbox Code Playgroud)
我得到了旧版本的位置。我相信这只是因为 /usr/bin/ 出现在我的 $PATH 变量中的 /usr/local/bin 之前,所以旧版本的 git 首先被“找到”。
为了测试这一点,我将旧版本的 git 重命名为“git_old”。现在当我输入:
which git
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我得到了较新版本的位置。但是当我输入:
git --version
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
-bash: /usr/bin/git: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么我的计算机要回到旧位置查找 Git?
想知道像“/../” 这样的路径会指向文件外部吗?我猜这可能类似于总是指定根目录,然后指定它所写入文件的相对父目录?
因此,我的路径变量(System->Adv Settings->Env Vars->System->PATH)设置为:
C:\Python26\Lib\site-packages\PyQt4\bin;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Python26\;
C:\Python26\Scripts\;
C:\cygwin\bin;
"C:\PathWithSpaces\What_is_this_bullshit";
"C:\PathWithSpaces 1.5\What_is_this_bullshit_1.5";
"C:\PathWithSpaces (2.0)\What_is_this_bullshit_2.0";
"C:\Program Files (x86)\IronPython 2.6";
"C:\Program Files (x86)\Subversion\bin";
"C:\Program Files (x86)\Git\cmd";
"C:\Program Files (x86)\PuTTY";
"C:\Program Files (x86)\Mercurial";
Z:\droid\android-sdk-windows\tools;
Run Code Online (Sandbox Code Playgroud)
虽然,显然,没有换行符。
请注意包含的行PathWithSpaces- 第一个没有空格,第二个有空格,第三个有一个空格,后跟一个括号。
现在,注意这个批处理文件的输出:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\>vcvars32.bat
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin>"C:\Program Files (x86
)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
\What_is_this_bullshit_2.0";"C:\Program was unexpected at this time.
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin> set …Run Code Online (Sandbox Code Playgroud) 我想在 Program Files 目录中包含库的路径,但我需要在没有空格的情况下执行此操作。我知道 Windows 使用缩短名称的约定,例如Program Filesbecome PROGRA~1。如何为任意目录找到这些缩短的名称?
(很抱歉,如果已经有人问过这个问题,但我找不到。)
我编写了一个 PowerShell 脚本来打开一个 Excel 工作簿并运行一个宏。当我从 PS 控制台或什至从命令行使用 powershell.exe script.ps1 运行该脚本时,它就可以正常工作。当我从 Windows 任务计划程序设置任务时,它会引发有关该 Excel 文件的异常,说它不存在或已在使用中。
该文件肯定存在,因为脚本从命令行运行良好,我确定它没有被使用。
我试图将 Excel 文件移动到本地和非特权区域,以避免网络信任/管理员权限问题。任务仍然以最高权限运行。路径没有空格或特殊字符。
当我尝试使用文件系统对象访问文件时,即使从调度程序运行也没有错误,所以我猜它特定于Excel.Application.Workbooks.Open("..")方法。
我现在应该考虑什么?
我正在尝试获取外部硬盘驱动器上所有目录和文件的列表,每行一个完全限定的目录/文件路径。我在 Windows 10 上使用 PowerShell 来实现这一点。这是我正在使用的 PowerShell 命令:
Get-ChildItem 'E:\' -Force -Recurse | Select-Object FullName | Out-File -Encoding utf8 "C:\Users\Me\Desktop\listing.txt" -width 300
Run Code Online (Sandbox Code Playgroud)
但是,有些路径在我的输出中被截断了。事实上,超过 10,000 行被截断。这是我的 listing.txt PowerShell 输出文件中的一行示例:
E:\Sort\Tech Stuff\2006-2007 CompanyLtd\fsie01-Engineering-Users-User1\Reference\LCID & Language Group by Language\Configuring and Using International Features of Windows Windows 2000 - List of Locale I...
Run Code Online (Sandbox Code Playgroud)
当我在文件资源管理器 (E:\Sort\Tech Stuff\2006-2007 CompanyLtd\fsie01-Engineering-Users-User1\Reference\LCID & Language Group by Language) 中浏览到此目录时,该文件名为“配置和使用Windows Windows 2000 的国际特性 - 区域设置 ID 和语言组列表.url'。如果我没有记错的话,这个文件的路径是 228 个字符长,应该在可接受的范围内。
我做错了什么,截断了我的 PowerShell 输出中的路径?
path ×10
windows ×4
command-line ×2
powershell ×2
windows-xp ×2
bash ×1
batch ×1
filesystems ×1
git ×1
homebrew ×1
linux ×1
macos ×1
windows-7 ×1