标题: [文件操作] 【已解决】批处理怎样输入关键词识别文件,新建文件夹并将文件剪切至新建文件夹 [打印本页]
作者: kimpppg 时间: 2021-1-9 18:11 标题: 【已解决】批处理怎样输入关键词识别文件,新建文件夹并将文件剪切至新建文件夹
本帖最后由 kimpppg 于 2021-1-10 20:00 编辑
在当前目录,新建关键词文件夹,并将当前目录含关键词的文件剪切至新文件夹。参考了论坛里各种txt分类,运行输入关键词。想写个单一关键词的bat。但是,没运行。给我帮我看看吧。- @echo off
- set A=%cd%
- set /p DD="请输入文件名称:"
-
- if not exist %DD% md %DD%
-
- for /f "delims=" %%1 in (“dir/S/B . | findstr /I %DD%”)do if /i not "%%1"=="DD"
- move /y "%%1" "%DD%"
-
-
-
- pause
复制代码
作者: terse 时间: 2021-1-9 19:03
这里改下- for /f "delims=" %%1 in ('dir/S/B . ^| findstr /I %DD%')do...
复制代码
作者: qixiaobin0715 时间: 2021-1-10 10:02
回复 1# kimpppg
循环变量要用字母表示,不要用数字设置(如%%1 %%9),这样会与系统参数相冲突。
作者: kimpppg 时间: 2021-1-10 14:59
回复 3# qixiaobin0715
哦 听取意见。
作者: kimpppg 时间: 2021-1-10 15:00
回复 2# terse
改了 ,没有用 只有新建文件夹,我继续思考
作者: qixiaobin0715 时间: 2021-1-10 15:29
本帖最后由 qixiaobin0715 于 2021-1-10 15:31 编辑
回复 4# kimpppg
什么叫“单一关键词”?包括子文件夹中的文件吗?
作者: terse 时间: 2021-1-10 18:04
我这边测试是可行的 把运行结果发来- set /p DD="请输入文件名称:"
-
- if not exist %DD% md %DD%
-
- for /f "delims=" %%1 in ('dir/S/B/a-d . ^| findstr /I %DD%') do if /i not "%%1"=="DD" move /y "%%1" "%DD%"
复制代码
回复 5# kimpppg
作者: kimpppg 时间: 2021-1-10 19:49
本帖最后由 kimpppg 于 2021-1-10 20:09 编辑
回复 7# terse
可以了 是我没改仔细。谢谢
作者: kimpppg 时间: 2021-1-10 19:50
回复 6# qixiaobin0715
不是 是指不确定的关键词。论坛里有多个已知关键词的移动bat。但是我需要一个现输入现用的。
作者: qixiaobin0715 时间: 2021-1-10 21:36
本帖最后由 qixiaobin0715 于 2021-1-10 21:41 编辑
回复 9# kimpppg
如果所有文件都在当前文件夹,而不是有些在子文件夹,简单点,效率会高一点:- @echo off
- set /p DD=请输入文件夹名称:
- if not exist %DD% md %DD%
- move "*%DD%*.*" "%DD%\"
- pause
复制代码
作者: kimpppg 时间: 2021-1-10 21:47
回复 10# qixiaobin0715
好家伙 短小精悍 我还不够短;
作者: Batcher 时间: 2021-1-10 21:55
回复 11# kimpppg
短,不一定好。还是适合最重要。- @echo off
- set /p "DD=请输入文件夹名称:"
- md "%DD%" 2>nul
- move "*%DD%*.*" "%DD%\"
复制代码
建议根据实际情况,多做一些异常判断。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |