从批处理文件中文件名的前 5 个字符创建文件夹

bil*_*ieh 6 windows command-line batch-file

这是我所拥有的:

C:\test\12345-test1.txt
C:\test\23456-test2.txt
C:\test\44444-test3.doc
Run Code Online (Sandbox Code Playgroud)

我想让脚本从文件中读取前 5 位数字,用这些数字创建一个文件夹,并在它之前包含字母 T。

运行后的结果应该是这样的:

C:\test\T12345\12345-test1.txt
C:\test\T23456\23456-test2.txt
C:\test\T44444\44444-test3.doc
Run Code Online (Sandbox Code Playgroud)

目前,我有这个,它的功能;我只是不知道把 SET 命令放在哪里来提取 5 个字符。

@echo off
for %%a in (*.*) do (
md "T%%a" 2>nul
move "%%a" "T%%~a"  
)
Run Code Online (Sandbox Code Playgroud)

我认为需要添加此项以仅选择前 5 个字符:

set first5=%%a:~5,1%
Run Code Online (Sandbox Code Playgroud)

想法?

Jen*_*rat 1

您可以使用它来获取前五个字符:

set first5=%a:~0,5%
Run Code Online (Sandbox Code Playgroud)

set将值赋给=to后first5%a%将返回变量的值a,通过添加以下字符,您引用从字符 0 开始的范围以及接下来的五个字符。