DDK Source Files Allot

本批处理脚本用于处理从DDK cab包解压出的文件,通过解析文件名来重构目录结构,并将文件移至正确位置。适用于98DDK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:: DDK Source Files Allot
:: 从DDK的cab中解压出来的文件没有目录层级,但每个文件的文件名中包含了该文件所应
:: 处于的位置。本批处理将处理单个目录中的所有文件,解析每个文件名,将之改为正确
:: 名称并放入正确位置。 经测试适用于98DDK
:: Author: ZeroFire(炽火)
:: ver beat0.1[20080910]

@echo off
setlocal enabledelayedexpansion
rem mode con lines=26
color 1f
cls
title 批量处理DDK中解压的文件名
set fullpath=%~dp0
set selfname=%~nx0

:start
set oldname=
:: 遍历当前目录下的所有文件
for /f "usebackq delims=" %%f in (`dir /b/a-d .`) do (
  set "var=%%~nf"
  for /f "tokens=1,2,3,4,5,6,7,8,9* delims=_" %%i in ("!var!") do (
    call :mkdir %%f %%i %%j %%k %%l %%m %%n %%o %%p %%q
  )
)
goto ok

:: 函数mkdir按照给定参数顺序检查是否存在匹配的目录树,如果不存在则创建该目录
:: 然后将文件改为正确名称后移动到正确位置
:: %1是目标文件名 %2~9之后是目录树
:mkdir
if "%3"=="" ( goto :EOF )
set shortname=%1
:loop
if "%3"=="" (
  move "%fullpath%%1" "!shortname!"
  set shortpath=%CD%
  set "shortpath=!shortpath:%fullpath%=!"
  echo !shortpath!\!shortname!
) else (
  if not exist "%2" (
    md "%2"
  )
  cd "%2"

  set "shortname=!shortname:%2_=!"

  shift /2
  goto loop
)
cd %fullpath%
goto :EOF

:: 显示成功信息并退出
:ok
echo done ^^_^^
pause >nul
goto :EOF
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值