在Windows 7命令提示符下,我想要列出名称不以abc开头的文件夹的所有文件。 我努力了:
forfiles /PC:myFolder /M ^[abc]* /S /C "CMD /C echo @file"
我的错误在哪里?
非常感谢。
如何删除具有特定string的所有行,但不删除同一文件的特定部分中包含相同string的行
如何在awk / sed中多次出现两个标记模式之间select行
SED命令获得行x和y之间的第n个制表符分隔值
如何select两种模式之间的线?
禁用sed中反斜杠的转义函数
unix:如何判断一个string是否匹配正则expression式
如何使用FINDSTR只获得匹配模式的行号
查找和replace循环内部
看forfiles /? :
/M searchmask Searches files according to a searchmask. The default searchmask is '*' .
强烈建议forfiles不支持正则表达式,只是普通的Cmd / Windows通配符。
在Windows 7上,可以在PowerShell中轻松实现:
dir c:myFolder | ?{ -not($_.Name -match '^abc') } | select Name
(这在执行敏感正则表达式匹配的情况下,在Windows文件名的情况下无关紧要。)
NB。 假设你想要不启动ABC文件,这不是你的(企图)正则表达式所说的(任何不是a , b或c文件名)。
我的错误在哪里?
如果使用xcopy命令而不是echo则使用选项/exclude 。 例如:
forfiles /PC:myFolder /M ^[abc]* /S /C "CMD /C xcopy @path %myDestinationFolder% /exclude:abc*"
另外,如果你使用的是PowerShell,另一个选项是operator -match 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。