首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Batch:如果文件夹包含某个字符串,则跳过该文件夹

Batch:如果文件夹包含某个字符串,则跳过该文件夹
EN

Stack Overflow用户
提问于 2018-06-10 08:16:46
回答 2查看 162关注 0票数 0

我正在尝试创建一个批处理脚本,将一个目录中的文件夹移动到同一目录中的另一个文件夹中。但是,我想跳过以"FILES-“开头的文件夹(文件夹名的其余部分由随机字符组成)。

这就是我到目前为止所知道的:

代码语言:javascript
复制
echo #### moving folders into newly created folder...
for /D %%D in ("C:\Users\reite\Downloads\*.*") do (
        if /I not "%%~nxD"=="FILES" (
        move "%%~D" "C:\Users\reite\Downloads\%datestamp%"
    )
)

我该如何继续解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 08:38:12

这样如何:

代码语言:javascript
复制
echo #### moving folders into newly created folder...
for /D %%D in ("C:\Users\reite\Downloads\*.*") do (
    for /F "delims=- eol=-" %%N in ("_%%~nxD") do (
        if /I not "%%N"=="FILES" (
            move "%%~D" "C:\Users\reite\Downloads\%datestamp%"
        )
    )
)

for /F命令使用-字符拆分文件夹名称。前导_旨在避免像--FILES-*这样的错误匹配,并且不跳过像---这样的文件夹。

票数 1
EN

Stack Overflow用户

发布于 2018-06-10 18:21:57

我会使用findstr/b而不是for:

代码语言:javascript
复制
echo #### moving folders into newly created folder...
for /D %%D in ("%userprofile%\Downloads\*") do (
        echo/%%~nxD|findstr /I /B "FILES-">nul||move "%%~D" "%userprofile%\Downloads\%datestamp%"
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50779579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档