我有一个名为来源的文件夹。它有一些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
答案 0 :(得分:2)
可能有一个更短的方式(特别是两个替换),但这应该有所帮助:
从源文件夹中:
(gci -recurse *.jpg|Resolve-path -relative) -replace "\\","/" -replace "[.]/","source/" > test.txt
从包含源文件夹的文件夹:
(gci -recurse "source\*.jpg"|Resolve-path -relative) -replace "\\","/" -replace "[.]/","" > test.txt
gci
是Get-ChildItem
答案 1 :(得分:1)
对于那些人来说,Ocaso Protal的回答(它应该得到正确的复选标记,因为它确实是正确的)并不起作用(虽然它应该,但对我来说没有,所以我把它调整了一下这是我的调整版本。
(gci -path source -recurse *.jpg|Resolve-path -relative) -replace "\\","/" -replace "[.]/","source/" > test.txt
答案 2 :(得分:0)
如果路径分隔符不是必需的,只是针对问题中的cmd
标记,您可以直接使用它,但路径分隔符将是反斜杠,而不是斜杠
xcopy /l /s "source\*" "%temp%" | find "\" > test.txt
已修改以适应评论
我不确定这不是一种失常(powershell不是我的区域),但是......
xcopy /l /s "source\*" "%temp%" | find "\" | powershell -c "$input -replace '\\','/'" > test.txt