标题: [文件操作] 批处理建立同名文件夹,并将对应文件移动到同步文件夹中 [打印本页]
作者: qd2024 时间: 2022-12-3 08:49 标题: 批处理建立同名文件夹,并将对应文件移动到同步文件夹中
当前目录下有若干文件,可能.docx .PPT .xls .PDF 等文件,不限制文件扩展名
求 1、建立和文件同名的文件夹
2、移动相关文件到同名文件夹中
如 有文件 abc.pdf 则先建立 文件夹 abc 然后把 abc.pdf 移动到 abc 中
移动前 当前目录下 \abc.pdf 移动后 当前目录下 \abc\abc.pdf
谢谢
作者: hfxiang 时间: 2022-12-3 09:30
本帖最后由 hfxiang 于 2022-12-3 09:53 编辑
- @for %%a in (*) do @if "%%~fa" NEQ "%~f0" @md "%%~na">nul 2>nul&@move "%%a" ".\%%~na">nul 2>nul
复制代码
作者: Batcher 时间: 2022-12-3 09:41
回复 2# hfxiang
不需要排除bat文件自身吗
作者: qd2024 时间: 2022-12-3 09:43
辛苦了 二位 非常感谢
需要排除bat 自身 怎么能排除掉呢
作者: hfxiang 时间: 2022-12-3 09:45
回复 3# Batcher
哦,由于俺是直接在命令行窗口测试的,因此欠考虑,俺改一下。谢谢提醒
作者: qixiaobin0715 时间: 2022-12-3 09:52
2种思路:
1.不把bat文件放在要处理的目录中,cd一下,定位到目录;
2.if排除bat文件。
作者: hfxiang 时间: 2022-12-3 09:55
回复 4# qd2024
已修订
作者: qixiaobin0715 时间: 2022-12-3 10:09
给别人写代码,建议分行写,让大家看的清楚明白,也便于修改。自用随意。
作者: hfxiang 时间: 2022-12-3 10:13
回复 8# qixiaobin0715
好的,接受建议,尽可能分行写(主要是本人太懒了 )
作者: Batcher 时间: 2022-12-3 12:43
回复 1# qd2024
test_1.bat- @echo off
- cd /d "%~dp0"
- for %%a in (*) do (
- if "%%~fa" neq "%~f0" (
- md "%%~na" 2>nul
- move "%%a" ".\%%~na"
- )
- )
复制代码
作者: Batcher 时间: 2022-12-3 12:45
回复 1# qd2024
test_2.bat- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /b /a-d ^| findstr /v /x "%~nx0"') do (
- md "%%~na" 2>nul
- move "%%a" ".\%%~na"
- )
复制代码
作者: qd2024 时间: 2022-12-6 14:30
谢谢大家 辛苦了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |