标签: path

如何修复截断的 PowerShell 输出,即使我已指定 -width 300

我正在尝试获取外部硬盘驱动器上所有目录和文件的列表,每行一个完全限定的目录/文件路径。我在 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 输出中的路径?

windows powershell path command-line

16
推荐指数
3
解决办法
7万
查看次数

通过 sudo 传递 PATH

简而言之:如何让 sudo 每次都不刷新 PATH?

我在我的服务器上部署了一些网站(Debian 测试),这些网站是用 Ruby on Rails 编写的。我使用 Mongrel+Nginx 来托管它们,但是当我需要重新启动 Mongrel(例如,在进行一些更改之后)时会出现一个问题。

所有站点都在 VCS 中检查(git,但这并不重要)并且将所有者和组设置为我的用户,而 Mongrel 运行在权限受到严格限制的 mongrel 用户下。所以Mongrel必须在root下启动(它可以自动改变UID)或mongrel。

为了管理 mongrel,我使用 mongrel_cluster gem,因为它允许只用一个命令启动或停止任意数量的 Mongrel 服务器。但是它需要目录 /var/lib/gems/1.8/bin 位于 PATH 中:这不足以以绝对路径启动它

在 root .bashrc 中修改 PATH 没有任何改变,调整 sudo 的 env_reset 和 env_keep 也没有。

所以问题是:如何将目录添加到 PATH 或将用户的 PATH 保留在 sudo 中?

更新:一些例子

$ env | grep PATH
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/var/lib/gems/1.8/bin
$ sudo cat /etc/sudoers | egrep -v '^$|^#'
Defaults    env_keep = "PATH"
root    ALL=(ALL) ALL
%sudo ALL=NOPASSWD: ALL
$ sudo env …
Run Code Online (Sandbox Code Playgroud)

linux sudo path gem

15
推荐指数
1
解决办法
2万
查看次数

如何在 Linux 中将当前目录永久添加到 PATH?

可能重复:
将文件夹添加到 PATH

我想在我的 bash 中添加一个目录以进行搜索,并且我正在使用 $PATH=.... 它可以工作但是当我打开一个新的命令窗口时它不存在。

如何将其永久添加到 Linux 上的路径中?

linux bash path

15
推荐指数
1
解决办法
4万
查看次数

有“向上”的发现吗?

我发现我在错误的 stackexchange 站点上问了这个问题

要查找从某个路径开始的文件,我可以使用find <path> .... 如果我想找到“向上”,即在父目录中,并且它是父目录,并且...,是否有等效的工具?

用例是知道正确的点数(../../x.txt 或 ../../../x.txt?),例如在上游某处包含一些常见 makefile 函数的 makefile 中使用。

像这样的文件夹结构的预期用途:

/
/abc
/abc/dce/efg/ghi
/abc/dce/efg2


$ cd /abc/dce/efg/ghi
$ touch ../../x.txt
$ upfind . -name X*
../../x.txt
$ upfind . -name Y* || echo "not found"
not found
$ touch /abc/dce/efg2/x.txt
$ upfind . -name Y* || echo "not found"
not found
$ 
Run Code Online (Sandbox Code Playgroud)

简而言之:

  • 它应该搜索这个文件夹,它是父级,它是父级的父级......
  • 但不是在他们的任何兄弟姐妹中(就像'find'一样)
  • 它应该报告相对于当前路径找到的文件

linux shell path find

15
推荐指数
2
解决办法
4831
查看次数

CMD:附加到路径而不复制它?

对于一个CMD会话,我可以轻松设置一条新路径:SET PATH=%PATH%;"insert custom path here"

在批处理文件中这样做不会考虑是否已包含自定义路径。我如何避免重复它(即检查它是否已包含在 PATH“字符串”中)。

评论:

  1. 相关:如何将用户定义的环境变量附加到 Windows 7 中的系统变量 PATH?
  2. 相关:如何通过命令行将条目永久附加到系统的 PATH 变量中?
  3. UNIX 的相同问题:如果 $PATH 尚不存在,则将目录添加到 $PATH
  4. 一些“CMD”字符串操作解释:http : //ss64.com/nt/syntax-replace.html

windows path command-line

15
推荐指数
2
解决办法
2万
查看次数

将 /usr/local/sbin 添加到用户的 PATH

如果我输入

echo $PATH
Run Code Online (Sandbox Code Playgroud)

我只得到

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

我如何添加/usr/local/sbin到路径中,以便下次它已经存在?

(我使用 debian 挤压)

debian bash path

15
推荐指数
1
解决办法
11万
查看次数

如何绕过对 PATH 变量长度的限制

错误信息

系统属性

这个环境变量太大了。此对话框允许设置长达 2047 个字符的值。

我使用/已经使用了很多软件,结果我的 PATH 增长了。当我尝试添加新路径时,我收到上述消息。作为一种解决方法,我正在编辑我的用户路径,但不想这样做。

path environment-variables windows-10

15
推荐指数
2
解决办法
2万
查看次数

Windows 7“在此处打开命令窗口”未更新路径变量

我刚刚编辑了我的 PATH 变量,在最后添加了一个目录。

当我从开始菜单运行 CMD.EXE 并输入 时PATH,我可以看到我的新目录。

但是,当我通过右移 Windows 资源管理器中的文件夹并选择“在此处打开命令窗口”打开命令窗口,然后键入 时PATH,我找不到我添加的内容。

为什么 PATH 变量的内容不同?

如何设置“在此处打开命令窗口”命令窗口的 PATH 变量?

windows-7 path command-line

14
推荐指数
2
解决办法
2195
查看次数

Windows 路径字符串中的“C:2\”是什么意思?

我从 Windows 防火墙得到了这个弹出窗口。路径中的“C:2\”是什么?真正的路径是D:\Steam\SteamApps\common\...

Windows 防火墙对话框弹出

cd /d C:2\在 cmd 中尝试并得到"The system cannot find the path specified."

我也在cd C:2\Powershell 中尝试过并得到了"Set-Location : Cannot find path 'C:\2\' because it does not exist."

那么“C:2\”如何成为“D:\”的快捷方式?

更新:

C:2正如@Tyson 建议的那样,我尝试在注册表中搜索。当我C:2在注册表中搜索时没有选中“仅匹配整个字符串”并且没有选中“仅匹配整个字符串”的结果时,有很多不相关的搜索结果。然而我找到了钥匙,它在里面HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules,它的价值是v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=17|Profile=Private|App=C:2\steam\steamapps\common\sonic & all-stars racing transformed\asn_app_pcdx9_final.exe|Name=asn_app_pcdx9_final.exe|Desc=asn_app_pcdx9_final.exe|Defer=User|. 有一个规则D:\Steam\SteamApps\common\Sonic & All-Stars Racing Transformed\ASN_App_PcDx9_Final.exein Windows Firewall with Advanced Security > Inbound Rules。我还找到了军团要塞 2 的规则,它v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Private|App=C:0\steam\steamapps\common\team fortress 2\hl2.exe|Name=hl2.exe|Desc=hl2.exe|Defer=User|在注册表和D:\Steam\SteamApps\common\Team Fortress 2\hl2.exeWindows 防火墙规则列表中。安装的其他游戏在注册表和 Windows 防火墙规则中D:\Steam\...都有 …

windows powershell path command-line steam

14
推荐指数
1
解决办法
1748
查看次数

我的 PATH 环境变量中是否需要 SQL Server 路径才能使其工作?

SQL Server 向我的 PATH 环境变量添加了一些东西,随着时间的推移,这种膨胀使我在 Windows 7 中达到了 2048 个字符的限制。我真的需要它们来运行 SQL Server 吗?这是在开发机器上,所以我想安装几个版本。我只担心正常的日常使用,而不是可能出现的边缘情况,即我可能不会在生产机器上这样做,但不需要,因为它只安装了一个版本。

例如我有:

c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\
c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\
C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\
C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\
C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\
c:\Program …
Run Code Online (Sandbox Code Playgroud)

windows-7 path sql-server environment-variables

14
推荐指数
1
解决办法
4689
查看次数