核心代码只有这几行,这是前几个月技术很差的时候琢磨出来的思路。
核心代码:
set /p var=输入关键字:
DIR /B >临时清单.**
FIND "%var%" 临时清单.** >挑选后的临时清单.**
echo @echo off>临时命令.cmd
if exist %var% goto 已存在该文件夹
echo md "%var%">>临时命令.cmd
:已存在该文件夹
FOR /F "SKIP=2 TOKENS=1 DELIMS=" %%A IN (挑选后的临时清单.**) DO ECHO MOVE "%%A" "%var%" >>临时命令.cmd
echo DEL 临时清单.** >>临时命令.cmd
echo del 挑选后的临时清单.** >>临时命令.cmd
echo del 临时命令.cmd >>临时命令.cmd
完全版:
@ECHO OFF
ECHO ┌────────────────────────────────┐
ECHO │ │
ECHO │ 输入关键字,程序会挑出含有该关键字的文件并放入新文件夹 │
ECHO │ │
ECHO │ 谨慎选择关键字,注意文件扩展名也在作用范围内。 │
ECHO │ │
ECHO │ 输入完成后按回车 │
ECHO │ │
ECHO └────────────────────────────────┘
set /p var=输入关键字:
DIR /B >临时清单.**
FIND "%var%" 临时清单.** >挑选后的临时清单.**
echo @echo off>临时命令.cmd
if exist %var% goto 已存在该文件夹
echo md "%var%">>临时命令.cmd
:已存在该文件夹
FOR /F "SKIP=2 TOKENS=1 DELIMS=" %%A IN (挑选后的临时清单.**) DO ECHO MOVE "%%A" "%var%" >>临时命令.cmd
echo DEL 临时清单.** >>临时命令.cmd
echo del 挑选后的临时清单.** >>临时命令.cmd
echo del 临时命令.cmd >>临时命令.cmd
if exist %var% echo ┌────── 该文件夹已存在,是否继续执行?────┐
if exist %var% echo │ │
if exist %var% echo │ 继续执行会将符合条件的文件都移动到该文件夹。 │
if exist %var% echo │ │
if exist %var% echo └──────如需停止,点右上角“X”。───────┘
if exist %var% echo ↓
if exist %var% echo ↓
if exist %var% echo ↓
if exist %var% echo ┌────────────┐
if exist %var% echo │ │
if exist %var% echo │ ~( ̄▽ ̄~)~ │
if exist %var% echo │ │
if exist %var% echo └────────────┘
if exist %var% echo 按任意键将继续执行,原文件夹文件将丢失
PAUSE
MD D:\批处理自动备份(不重要)
COPY 文件整理神器(2.0).CMD D:\批处理自动备份(不重要)
CALL 临时命令.cmd
思路如下:
先用dir /b 列出清单
再用find找出包含关键字的名单,再列一张清单
在该清单的每一行前面加move,后面加文件夹名
把该清单的扩展名改成cmd
call该清单,齐活儿。
能用,但效率比较低。 |