[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】批处理怎样输入关键词识别文件,新建文件夹并将文件剪切至新建文件夹

本帖最后由 kimpppg 于 2021-1-10 20:00 编辑

在当前目录,新建关键词文件夹,并将当前目录含关键词的文件剪切至新文件夹。参考了论坛里各种txt分类,运行输入关键词。想写个单一关键词的bat。但是,没运行。给我帮我看看吧。
  1. @echo off
  2. set A=%cd%
  3. set /p DD="请输入文件名称:"
  4. if not exist %DD% md %DD%
  5. for /f "delims=" %%1 in (“dir/S/B . | findstr /I %DD%”)do if /i not "%%1"=="DD"
  6. move /y "%%1" "%DD%"
  7.         
  8. pause
复制代码

这里改下
  1. for /f "delims=" %%1 in ('dir/S/B . ^| findstr /I %DD%')do...
复制代码

TOP

回复 1# kimpppg
循环变量要用字母表示,不要用数字设置(如%%1 %%9),这样会与系统参数相冲突。

TOP

回复 3# qixiaobin0715


    哦 听取意见。

TOP

回复 2# terse


    改了 ,没有用 只有新建文件夹,我继续思考

TOP

本帖最后由 qixiaobin0715 于 2021-1-10 15:31 编辑

回复 4# kimpppg
什么叫“单一关键词”?包括子文件夹中的文件吗?

TOP

我这边测试是可行的 把运行结果发来
  1. set /p DD="请输入文件名称:"
  2. if not exist %DD% md %DD%
  3. 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
1

评分人数

TOP

本帖最后由 kimpppg 于 2021-1-10 20:09 编辑

回复 7# terse


    可以了 是我没改仔细。谢谢

TOP

回复 6# qixiaobin0715
不是 是指不确定的关键词。论坛里有多个已知关键词的移动bat。但是我需要一个现输入现用的。

TOP

本帖最后由 qixiaobin0715 于 2021-1-10 21:41 编辑

回复 9# kimpppg
如果所有文件都在当前文件夹,而不是有些在子文件夹,简单点,效率会高一点:
  1. @echo off
  2. set /p DD=请输入文件夹名称:
  3. if not exist %DD% md %DD%
  4. move "*%DD%*.*" "%DD%\"
  5. pause
复制代码
1

评分人数

TOP

回复 10# qixiaobin0715


    好家伙 短小精悍 我还不够短;

TOP

回复 11# kimpppg


短,不一定好。还是适合最重要。
  1. @echo off
  2. set /p "DD=请输入文件夹名称:"
  3. md "%DD%" 2>nul
  4. move "*%DD%*.*" "%DD%\"
复制代码
建议根据实际情况,多做一些异常判断。
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表