我有一个名为source的文件夹,它的结构如下:
我希望列出所有文件夹、子文件夹和文件的相对路径,并将其保存在一个文本文件中,例如 out.txt。对于上述输出,我期望的结果是:
您可以看到输出包括单独的文件夹和子文件夹。
注意:我在源文件夹外面的一个文件夹中。我的意思是,例如我在“fold”文件夹中,其中包含源文件夹->“fold/source”,但如果您的解决方案包括将脚本放在源文件夹中,那也可以。这两种解决方案都可以。这可能很容易,但我不熟悉PowerShell,但如果给出脚本,我至少可以运行它们。
编辑1:好的,在“重复问题”中,答案是关于单个文件的相对路径。但我还想要文件夹和子文件夹。
编辑2:好的,我写了一个命令:
现在,这个命令只给出源文件夹内子目录的相对名称(我的实际源文件夹有不同的名称,"source"只是一个虚假名称!)。我应该如何更改此代码以获取源文件夹中子目录中其他文件的名称?
source\a.jpg
source\b.jpg
source\c.xml
source\d.ps1
source\subdir1\a.xml
source\subdir2\b.png
source\subdir3\subsubdir1\nothing.img
我希望列出所有文件夹、子文件夹和文件的相对路径,并将其保存在一个文本文件中,例如 out.txt。对于上述输出,我期望的结果是:
source\a.jpg
source\b.jpg
source\c.xml
source\d.ps1
source\subdir1\a.xml
source\subdir2\b.png
source\subdir3\subsubdir1\nothing.img
source\subdir1
source\subdir2
source\subdir3
source\subdir3\subsubdir1
您可以看到输出包括单独的文件夹和子文件夹。
注意:我在源文件夹外面的一个文件夹中。我的意思是,例如我在“fold”文件夹中,其中包含源文件夹->“fold/source”,但如果您的解决方案包括将脚本放在源文件夹中,那也可以。这两种解决方案都可以。这可能很容易,但我不熟悉PowerShell,但如果给出脚本,我至少可以运行它们。
编辑1:好的,在“重复问题”中,答案是关于单个文件的相对路径。但我还想要文件夹和子文件夹。
编辑2:好的,我写了一个命令:
(gci -path source -recurse *.|Resolve-path -relative) -replace "","" | out-file -FilePath output.txt -Encoding ascii
现在,这个命令只给出源文件夹内子目录的相对名称(我的实际源文件夹有不同的名称,"source"只是一个虚假名称!)。我应该如何更改此代码以获取源文件夹中子目录中其他文件的名称?
Get-ChildItem
命令。我建议你先运行Get-Help Get-ChildItem -Full
命令,然后编写一些代码,如果你有需要帮助的代码,再回来寻求帮助。我们并不会为你编写代码,但如果你的代码出现错误而你又无法理解,我们会帮助你修复。你需要的工具有:Get-ChildItem
、ForEach
、Set-Content
,以及其他“重复”问题答案中的代码。 - TheMadTechnician