[Asm] 纯文本查看 复制代码 你可以使用批处理脚本来实现这个功能。以下是一个示例的批处理脚本,它将文件名前缀与文件夹名前缀相匹配的文件移动到相应的文件夹中:
batch
@echo off
setlocal enabledelayedexpansion
set "source_folder=C:\Path\to\source\folder"
set "destination_folder=C:\Path\to\destination\folder"
for /D %%F in ("%source_folder%*") do (
set "folder_name=%%~nxF"
set "folder_prefix=!folder_name:~0,11!" REM 根据你的文件夹名前缀调整这里的数字
for %%F in ("%source_folder%\!folder_prefix!-*") do (
set "file_name=%%~nxF"
set "file_prefix=!file_name:~0,11!" REM 根据你的文件名前缀调整这里的数字
if "!file_prefix!"=="!folder_prefix!" (
md "%destination_folder%\!folder_name!" 2>nul
move "%%F" "%destination_folder%\!folder_name!"
)
)
)
echo 文件移动完成。
pause
请确保将 C:\Path\to\source\folder 替换为包含要移动文件的源文件夹的实际路径,并将 C:\Path\to\destination\folder 替换为要将文件移动到的目标文件夹的实际路径。
在脚本中,我们使用了两个嵌套的 for 循环来遍历源文件夹中的文件夹和文件。首先,外部循环遍历源文件夹中的每个文件夹,提取文件夹名前缀。然后,内部循环遍历以相同前缀开头的文件,并将它们移动到相应的文件夹中。
注意,脚本中的 set "folder_prefix=!folder_name:~0,11!" 和 set "file_prefix=!file_name:~0,11!" 行中的数字 11 是根据你的文件夹名和文件名前缀的长度进行调整的。你需要根据你的实际情况修改这些数字,以确保正确提取前缀。 |