如何从文件名创建文件夹并将文件移入文件夹并更改文件夹名称

问题描述 投票:0回答:1

我正在尝试在批处理文件中创建自动化,以从文件名创建文件夹,并将具有不同文件名的文件移动到这个新创建的文件夹中。 我有一堆 Excel 文件,这些文件中的前几个标记是相同的。 因此,对于创建的文件夹,我需要删除前 12 个令牌和扩展名。 只能调整文件名,但文件夹需要相同的名称,不带扩展名.xlsx。

我看到了这段代码并尝试调整它。

@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "SourceDir=C:\Bureaublad\1"
set "DestDir=C:\Bureaublad\1"

for /F "eol=| delims=" %%A in ('dir /B /A-D-H "%SourceDir%\Kamekllofis*.*" 2^>nul') do (
    for /F "eol= tokens=1 delims=." %%B in ("%%~nA") do (
        md "%DestDir%\%%B" 2>nul
        set "FileName=%%A"
        call move /Y "%SourceDir%\%%A" "%DestDir%\%%B\%%FileName:~12%%"
    )
)

尝试过这个

md "%DestDir%\%%B:~12%%" 2>nul

我只需要删除文件名中的第一个字符和扩展名 .xlsx

batch-file cmd batch-rename
1个回答
0
投票

您知道如何创建正确的文件名。为什么不使用相同的方法来创建正确的文件夹名称?顺便说一句 - 当您使用修饰符时,您不需要第二个

for
循环(请参阅
for /?

...
for /F "eol=| delims=" %%A in ('dir /B /A-D-H "*.pdf" 2^>nul') do (
    set "FName=%%~nA"
    call md "%DestDir%\%%FName:~12%%" 2>nul
    call move /Y "%SourceDir%\%%A" "%DestDir%\%%FName:~12%%\%%FName:~12%%%%~xA"
)
© www.soinside.com 2019 - 2024. All rights reserved.