目录C:\Parent
包含两个子目录。
\basis //contains folders which contain .pdf and .txt files
\basis_ft //empty
我想将所有*.txt
文件从移动\basis
到\basis_ft
但它们需要位于它们之前所在的完全相同的子目录中。
C:\Parent\basis\UD00\
00000A00.pdf
00000A0A.pdf
ft00000A00.txt
ft00000A0A.txt
C:\Parent\basis_ft\ //empty
C:\Parent\basis\UD00\
00000A00.pdf
00000A0A.pdf
C:\Parent\basis_ft\UD00\
ft00000A00.txt
ft00000A0A.txt
有很多子目录,例如UD00
包含不同数量的文件。
我目前的声明如下:
for /r "C:\Parent\basis\" %%x in (*.txt) do move "%%x" "C:\Parent\basis_ft"
但这只会将所有*.txt
文件取出并放入文件夹basis_ft
。
你们有没有人知道如何做到这一点?
我想补充一点,我更喜欢在一个语句中执行此操作,而无需先创建一个文本文件来列出所有必需的内容,另一个文件使用此文件创建目录,然后再移动文件。最后,还有一个文本文件要删除。我已经这样做了,就像过去一样,但我渴望简化这个过程,因为我将需要更频繁地这样做。
我认为 ROBOCOPY 会做你想做的。使用 了解选项ROBOCOPY /?
。
ROBOCOPY /S /MOV C:\Parent\basis C:\Parent\basis_ft *.txt
如果您已准备好使用 PowerShell,则可以执行以下操作。当您确定将删除正确的文件时,请-WhatIf
从Remove-Item
命令中删除。
Copy-Item -Path 'C:\Parent\basis' -Destination 'C:\Parent\basis_ft' `
-Filter '*.txt' -Recurse
Get-ChildItem -Path 'C:\Parent\basis' -Filter '*.txt' |
ForEach-Object { Remove-Item -Path $_.FullName -WhatIf }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句