BAT给目录下多重子文件夹内的文件增加前缀名称?

如题所述

bat无法读取excel表格中的内容,所以您要么把表格文件导出为csv文件,或把文件列表写入txt文本中供脚本读取。
如果您导出为csv文件,那么请提供一个csv文件给我。然后根据csv内容来写对应的代码。

如果您直接把文件列表写入txt文本中,那么代码可以用下方的。

@echo off & title 根据列表移动文件到指定目录 By 依梦琴瑶

::设置指定目录
set Folder=TEST

::设置列表文件
set List=FileList.txt

if not exist "%Folder%\." md "%Folder%"
for /f "usebackq delims=" %%a in ("%List%") do (
move "%%~7a686964616fe58685e5aeb931333431376639a*" "%Folder%\"
)
pause
call :Donate
exit

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-20
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
@echo off
rem 文件名称开头插入/添加指定前缀字符串
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "prefix=前缀_"
for /f "delims=" %%a in ('dir /a-d/b/s') do (
if /i "%%~nxa" neq "%~nx0" (
echo;"%%a" --^> "%prefix%%%~nxa"
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit