file - 从包含数千个文件的主文件夹创建 A 到 Z 子文件夹

标签 file batch-file command-line automation

主要文件夹内容(示例)

apple.txt
art.txt
berry.txt
cherry.txt
coffee.txt
..,
...
...
zebra.txt

预期输出(子文件夹)

A
  apple.txt
  art.txt
B
  berry.txt
C
  cherry.txt
  coffee.txt
...
...
...
Z
  zebra.txt

如何通过 Windows 批处理文件完成此操作?

最佳答案

这是我快速编写的脚本。 基本上创建一个 dir 如果不存在,然后在脚本的根目录中搜索所有 .txt 文件,然后测试单词的第一个字母,然后将其复制到匹配目录。

@echo off
setlocal enabledelayedexpansion
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
   if not exist %%i mkdir %%i
)
for %%f in (*.txt) do (
set "file=%%f"
set "var=!file:~0,1!"
echo move "%%~dpf!file!" "%%~dpf!var!\" 
)
pause

经过测试,只需删除倒数第二行copy 之前的echo 即可实际执行copy 任务

关于file - 从包含数千个文件的主文件夹创建 A 到 Z 子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872440/

相关文章:

linux - 如何在/mnt/中创建文件读/写权限?

c - 使用 fputs() 将整数写入文件

c - C语言处理文件时如何跳过数据

csv - 用于将三个 csv 文件列合并为一列的 Windows 脚本

batch-file - 批处理语句中 > nul 2>&1 是什么意思

linux - 从硬盘中查找并复制所有图像

java - 为什么一个 println 语句会改变我的代码的整个输出?

batch-file - 如何从视频中检索宽度和高度

c# - 带输出的命令行病毒扫描

bash - 将值输出到 csv - 命令行