求个bat批处理,将文件批量移动到含有相同字符的文件夹内
本帖最后由 yearn1 于 2024-11-16 00:31 编辑将文件批量移动到包含有相同字符的文件夹内
https://s21.ax1x.com/2024/11/16/pA2B7QS.png @echo off&&setlocal enableDelayedExpansion
for /r %CD% %%f in (*.txt) do (
if"%%~dpf" neq "%~dp0" (echo done&&exit /b)
set fn=%%~nf&&set dn=!fn!
for /d %%x in (*!dn!*) do (
echo move %%f %%~dpnx
rem 复制就把move改copy ,实操就把echo去掉
)
)
只要文件名含文件夹名任意一部分都可以匹配,已测试
直接搜索然后复制粘贴不就行了 @echo off
Setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b /s *.txt') do (
set file=%%~na
for /f "delims=" %%b in ('dir /ad /b /s ^| find "!file!" ') do ( echo move %%a %%b
)
)
双击测试下,没问题的话将 最后一行的echo去掉再运行试试 cqwzhc 发表于 2024-11-16 10:17
@echo off&&setlocal enableDelayedExpansion
for /r %CD% %%f in (*.txt)...
好像不行,保存ba打开没反应,文件也没移动 Shiliu2713 发表于 2024-11-16 09:42
@echo off
Setlocal enabledelayedexpansion
for /f "delims=" %%a in ('d ...
文件没移动 木头人丶123 发表于 2024-11-16 08:16
直接搜索然后复制粘贴不就行了
我有几千个这样的文档和文件夹需要这样处理的,每个文件的子串都不一样,大佬们帮忙弄个bat,能根据文件和文件夹名称中包含有部分相同字符串的,将这些文件移动到对应的文件夹里 本帖最后由 cqwzhc 于 2024-11-16 10:58 编辑
yearn1 发表于 2024-11-16 10:38
好像不行,保存ba打开没反应,文件也没移动
你确定使用方法对了?已测试过的。保存为ba文件吗???还有,里面的echo去掉了吗??? yearn1 发表于 2024-11-16 10:38
好像不行,保存ba打开没反应,文件也没移动
忘了说,还有一个更重要的问题,你保存为bat以后是放到要移动的文件夹下去运行的吗????
我默认你都会求BAT了,这么基本的道理应该明白的。。。。 yearn1 发表于 2024-11-16 10:41
文件没移动
去掉echo了没?
加ehco是为了演示的,去掉最后一行后面的echo才会执行