簡單闡述dxf移動工具的使用過程及源代碼

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wengek/article/details/80058222

簡介:
這是一個整理dxf文件的bat,它可以將你擁有文件名中某段字符相同的文件複製到已相同字符命名的文件夾裏。

例如:
當前目錄所包含如下dxf文件:
[A6]20200003195號3-(長方形)【t=10】-108b1c-【8件】.dxf
[A6]28201026380件號25-(長方形)【t=10】-102b1c-【2件】.dxf
[A6]28201026380件號27-(長方形)【t=10】-102b2c-【4件】.dxf
[A6]350060-00-2件號2-【t=10】-101b1c-【1件】.dxf
[PD29]003262件號2-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD29]003263件號1-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD29]003263件號2-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD45]108174-00-1件號15【310S耐熱不鏽鋼t=8】-102b1c-【2件】.dxf
[PD45]108174-00-1件號18【310S耐熱不鏽鋼t=8】-101b1c-【1件】.dxf
[PD45]108174-00-1件號19【310S耐熱不鏽鋼t=8】-101b1c-【1件】.dxf
[PD45]108203-00-3件號2【310S耐熱不鏽鋼t=6】-101b1c-【1件】.dxf
[PD45]108203-00-3件號3&4【310S耐熱不鏽鋼t=6】-101b2c-【2件】.dxf
[PD50]20200001479號0-【t=5】-101b1c-【1件】.dxf
[PD67]011106-00-2件號4-【t=10】304b1c-【12件】.dxf
那麼,此bat會將帶有【t=10】的字符串的文件移動到【t=10】的文件夾中,帶有【S690QL材質t=20】的字符串的文件移動到【S690QL材質t=20】的文件夾中,以此類推。

源代碼如下:

@echo off&setlocal enabledelayedexpansion&title dxf移動工具
del log.txt /q 2>nul
echo 日誌報告:>>log.txt
echo _________________________________________________________________________>>log.txt
if exist *.dxf (
    set /p=正在移動中<nul
    title 狀態:正在移動中 ^| dxf移動工具
) else (
    title 狀態:運行完成 全部正確 ^| dxf移動工具
    set /p=運行完成,全部正確。
    exit
)
for /f "delims=" %%a in ('dir /b *.dxf 2^>nul') do (
    for /f "delims=【 tokens=2" %%b in ("%%a") do (
        for /f "delims=】" %%c in ("%%b") do (
            set /p=.<nul
            if %%c equ !a! (
                dir /b "%%c】" 2^>nul|find "%%a" >nul
                if !errorlevel! equ 1 (
                     move "%%a" "【%%c】" 1>nul 2>nul
                     if !errorlevel! equ 1 (
                         echo %%a 被打開。>>log.txt)
                         ) else (
                         echo %%a 名相同。>>log.txt
                )
            ) else (
                dir /b "%%c】" 2>nul|find "%%a" >nul
                if !errorlevel! equ 1 (                
                    md "%%c】" 1>nul 2>nul
                    move "%%a" "%%c】" 1>nul 2>nul
                    if !errorlevel! equ 1 (
                        echo %%a 被打開。>>log.txt)
                        ) else (
                            echo %%a 名相同。>>log.txt
                            )
            set a=%%c
            )
        )
    )
)
for /f "delims=" %%a in ('type log.txt^|find /c /v ""') do (
    if %%a equ 2 (
        del log.txt /q 2>nul
    )
)
if exist log.txt (
    echo _________________________________________________________________________>>log.txt
    more log.txt
)
echo.
echo.
title 狀態:運行完成 ^| dxf移動工具
set /p=運行完成。

運行目錄所在文件:
[A6G]003259-00-3件號1-【t=10】-102b2c-【4件】.dxf
[A6G]003259-00-3件號2-【t=10】-102b1c-【2件】.dxf
[A6G]003259-00-3件號4-【t=10】-102b2c-【4件】.dxf
[A6G]003259-00-3件號5-【t=10】-102b2c-【4件】.dxf
[A6G]003260-00-4件號1-【t=10】-102b1c-【2件】.dxf
[A6G]003260-00-4件號2-【t=10】-102b1c-【2件】.dxf
[A6G]003260-00-4件號3-【t=10】-102b2c-【4件】.dxf
[A6G]003260-00-4件號4-【t=10】-102b1c-【2件】.dxf
[A6G]003260-00-4件號6-【t=10】-102b2c-【4件】.dxf
[A6G]011106-00-2件號4-【t=10】204b1c-【8件】.dxf
[A6G]024021-00-4件號2-【t=10】-101b1c-【1件】.dxf
[A6G]031099-00-2件號12-【t=10】-104b1c-【4件】.dxf
[A6G]031099-00-2件號8-【t=10】-102b1c-【2件】.dxf
[A6G]350128-00-0件號1-【t=10】-101b1c-【1件】.dxf
[A6G]350128-00-0件號11-【t=10】-102b1c-【2件】.dxf
[A6G]350128-00-0件號12-【t=10】-102b1c-【2件】.dxf
[A6G]350128-00-0件號13-【t=10】-104b1c-【4件】.dxf
[A6G]350128-00-0件號2-【t=10】-101b1c-【1件】.dxf
[A6G]350128-00-0件號3-【t=10】-101b1c-【1件】.dxf
[A6G]350128-00-0件號8-【t=10】-102b1c-【2件】.dxf
[A6G]350128-00-0件號9-【t=10】-102b1c-【2件】.dxf
[A6G]350130-00-3件號2-【t=10】-101b1c-【1件】.dxf
[A6G]350131-00-3件號1-【t=10】-101b1c-【1件】.dxf
[A6G]350131-00-3件號2-【t=10】-101b1c-【1件】.dxf
[A6G]350131-00-3件號3-【t=10】-101b1c-【1件】.dxf
[A6J]046163-00-4件號0(圓形)【t=10】-101b1c-【1件】.dxf
[A6J]049319-00-4件號0(長方形)【t=10】-102b1c-【2件】.dxf
[A6J]28201027287件號13【t=10】-101b1c-【1件】.dxf
[A6J]28201027287件號14【t=10】-101b1c-【1件】.dxf
[A6J]28201027287件號16【t=10】-101b1c-【1件】.dxf
[A6J]28201027287件號17【t=10】-101b1c-【1件】.dxf
[A6J]28201027287件號18【t=10】-102b1c-【2件】.dxf
[A6L]28201027236件號5(長方形)【t=10】-108b1c-【8件】.dxf
[A6L]28201027236件號7【t=10】-1014b1c-【14件】.dxf
[A6]011237-00-4件號0-【t=10】-102b1c-【2件】.dxf
[A6]011478-00-3件號3-【t=10】-104b1c-【4件】.dxf
[A6]012261-00-3件號2-【t=10】-102b1c-【2件】.DXF
[A6]014611-00-4件號0-【t=10】-104b2c-【8件】.dxf
[A6]014768-00-2件號2-【t=10】-101b3c-【3件】.dxf
[A6]054575-00-0件號11-【t=10】-104b1c-【4件】.dxf
[A6]064619-00-0件號12(長方形)-【t=10】-102b1c-【2件】.dxf
[A6]064619-00-0件號13-【t=10】-102b2c-【4件】.dxf
[A6]064619-00-0件號15(長方形)-【t=10】-102b1c-【2件】.dxf
[A6]080382-00-1件號6-【t=10】-101b6c-【6件】.dxf
[A6]080384-00-1件號12(長方形)-【t=10】-1032b1c-【32件】.dxf
[A6]080384-00-1件號4-【t=10】-101b8c-【8件】.dxf
[A6]080384-00-1件號5-【t=10】-101b8c-【8件】.dxf
[A6]080385-00-2&080386-00-2件號2-【t=10】-101b4c-【4件】.dxf
[A6]080385-00-2&080386-00-2件號3-(長方形)【t=10】-1024b1c-【24件】.dxf
[A6]080385-00-2&080386-00-2件號4-(長方形)【t=10】-1016b1c-【16件】.dxf
[A6]080385-00-2&080386-00-2件號5【t=10】-101b8c-【8件】.dxf
[A6]080389-00-4號1-【t=10】-108b1c-【8件】.dxf
[A6]080390-00-4號1-【t=10】-108b1c-【8件】.dxf
[A6]109988-00-1件號4(長方形)-【t=10】-1036b1c-【36件】.dxf
[A6]109991-00-0件號1-【t=10】-103b1c-【3件】.dxf
[A6]109992-00-0件號2-【t=10】-101b6c-【6件】.dxf
[A6]109993-00-0件號10-【t=10】-101b8c-【8件】.dxf
[A6]109993-00-0件號7-【t=10】-101b6c-【6件】.dxf
[A6]109994-00-0件號12-【t=10】-101b4ca-【4件】.dxf
[A6]109994-00-0件號12-【t=10】-101b4cb-【4件】.dxf
[A6]109994-00-0件號13-【t=10】-101b4c-【4件】.dxf
[A6]109998-00-2件號1-【t=10】-101b2c-【2件】.dxf
[A6]126143-00-0件號20【t=10】-101b1c-【1件】.dxf
[A6]126143-00-0件號21【t=10】-101b1c-【1件】.dxf
[A6]126144-00-0件號15【t=10】-102b1c-【2件】.dxf
[A6]126144-00-0件號18(長方形)【t=10】-102b1c-【2件】.dxf
[A6]126145-00-0件號20-【t=10】-102b1c-【2件】.dxf
[A6]126145-00-0件號22(長方形)-【t=10】-102b1c-【2件】.dxf
[A6]20200003195號1-【t=10】-101b4c-【4件】.dxf
[A6]20200003195號2-(長方形)拉條【t=10】-101b1c-【1件】.dxf
[A6]20200003195號3-(長方形)【t=10】-108b1c-【8件】.dxf
[A6]28201026380件號25-(長方形)【t=10】-102b1c-【2件】.dxf
[A6]28201026380件號27-(長方形)【t=10】-102b2c-【4件】.dxf
[A6]350060-00-2件號2-【t=10】-101b1c-【1件】.dxf
[PD29]003262件號2-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD29]003263件號1-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD29]003263件號2-【S690QL材質t=20】-401b1c-【4件】.dxf
[PD45]108174-00-1件號15【310S耐熱不鏽鋼t=8】-102b1c-【2件】.dxf
[PD45]108174-00-1件號18【310S耐熱不鏽鋼t=8】-101b1c-【1件】.dxf
[PD45]108174-00-1件號19【310S耐熱不鏽鋼t=8】-101b1c-【1件】.dxf
[PD45]108203-00-3件號2【310S耐熱不鏽鋼t=6】-101b1c-【1件】.dxf
[PD45]108203-00-3件號3&4【310S耐熱不鏽鋼t=6】-101b2c-【2件】.dxf
[PD50]20200001479號0-【t=5】-101b1c-【1件】.dxf
[PD67]011106-00-2件號4-【t=10】304b1c-【12件】.dxf
[PD68]080051-00-2件號2-【t=10】-401b1c-【4件】.dxf
[PD69]054206-00-1件號8【t=10】-202b1c-【4件】.dxf
[QD02]RBC3010-1件號1【t=10】-1601b2ca-【32件】.dxf
[W01]021821-00-1件號1【700複合板10+5】c【2件】.dxf
[W01]021821-00-1件號1【700複合板10+5】d【2件】.dxf
[W01]117076-00-1件號1【700複合板10+5】-201b&ca-【10件】.dxf
[W01]117076-00-1件號1【700複合板10+5】-201b&cb-【4件】.dxf
[W03]025913-00-1件號3【750複合板10+5】c-【2件】.dxf
[W03]025913-00-1件號3【750複合板10+5】d-【2件】.dxf
[W03]043264-00-2件號1【700複合板8+6&5】-【8件】.dxf
[W03]043264-00-2件號2【700複合板8+6&5】-【8件】.dxf
[W03]043264-00-2件號3【700複合板8+6&5】-【8件】.dxf

運行過程:
打開後會顯示“正在移動中”,後面的符號“.”,一個代表正在移動一個文件。

移動中

運行結束後會整理到相應的文件夾中,如下圖:
結束運行

PS:這裏還增加了若文件正在被打開,或已存在相同文件名的文件會跳過,在運行結束後輸出錯誤導致傳輸的文件,就先不上圖了,到時候出視頻教程會在這裏貼視頻教程地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章