将子目录下的部分文件和其他文件的相对路径复制到一个文本文件中

Copy relative paths of some files and other files in subdirectories to a text file

我有一个名为 source 的文件夹。它有一些 jpeg 文件和一些包含更多 jpeg 文件的子目录。我想复制文本文档中子目录中所有文件和其他文件的相对路径"test.txt"。例如,
我有文件,

a.jpg
b.jpg
c.jpg

和子目录

sub1/d.jpg
sub2/e.jpg

我想复制所有这些相对于我所在的当前文件夹的相对路径(就在外部源)

我想要的输出是:

source/a.jpg
source/b.jpg
source/c.jpg
source/sub1/d.jpg
source/sub2/e.jpg

如果路径分隔符不是必需的,只是问题中的cmd标签,你可以直接使用这个,但路径分隔符将是反斜杠,而不是斜杠

xcopy /l /s "source\*" "%temp%" | find "\" > test.txt

已编辑以适应评论

我不确定这是否异常(powershell 不是我的领域),但是...

xcopy /l /s "source\*" "%temp%" | find "\" | powershell -c "$input -replace '\','/'" > test.txt

可能有更短的方法(尤其是两个替换),但这应该有所帮助:

从源文件夹内:

(gci -recurse *.jpg|Resolve-path -relative) -replace "\","/" -replace "[.]/","source/" > test.txt

来自包含源文件夹的文件夹:

(gci -recurse "source\*.jpg"|Resolve-path -relative) -replace "\","/" -replace "[.]/","" > test.txt

gciGet-ChildItem

的别名

对于那些,Ocaso Protal 的回答(它应该得到正确的复选标记,因为它确实是正确的)不起作用,(虽然它应该,但对我来说没有,所以我稍微调整了一下)这是我的调整版本.

(gci -path source -recurse *.jpg|Resolve-path -relative) -replace "\","/" -replace "[.]/","source/" > test.txt