Ste*_*agn 5 windows regex command-line dir cmd.exe
我需要将所有文本文件复制到一个名称为五个字符长的文件夹中。我知道这个命令是为了列出:
$ dir folder /B | findstr /R "^.....\.txt"
Run Code Online (Sandbox Code Playgroud)
但我想将上述命令列出的所有文件复制到不同的文件夹中。
我问(不仅是对我自己)“它不是很简单......”?
copy C:\ORIG_DIR\?????.txt C:\Dest_Dir
Run Code Online (Sandbox Code Playgroud)
感谢 G-Man,它在powershell 中进行了测试,它可以工作,同时在cmd.exe 中,上述命令将复制每个匹配项最多五个字符,并且所有扩展名都以.txt
.
问号(?)
使用问号代替名称中的单个字符。例如,如果您键入gloss?.doc,您将找到文件Glossy.doc 或Gloss1.doc 而不是Glossary.doc。
参考:
windows下的通配符。
这在 Batch 中是可能的,但在 PowerShell 中很容易。
ls | foreach { if (($_.BaseName.Length -eq 5) -and ($_.Extension -eq ".txt"))
{ $_.CopyTo("\Name\Of\Target\Folder\" + $_.Name) }
Run Code Online (Sandbox Code Playgroud)
您还可以通过根据正则表达式检查文件名来完成此操作,但此方法效果很好。
归档时间: |
|
查看次数: |
6630 次 |
最近记录: |