编写一个批处理文件,需求如下: 1.将文件夹内所有子文件夹随机重命名,重命名的名称以数字+字母组成,字符长度为6 2.创建一个表格,将每个子文件夹修改前的名称跟修改后的名称对照起来,方便后续查询、
时间: 2024-09-27 22:17:55 浏览: 34
可以一次重命名多个文件和文件夹的软件 64位.rar
为了完成这两个任务,你需要编写一个包含两个部分的批处理文件:首先随机重命名子文件夹,然后创建一个表格记录更改情况。这里是一个基本的框架示例:
```batch
@echo off
setlocal enabledelayedexpansion
:: 部分一:随机重命名子文件夹
for /r %cd% %%i in (*) do (
set "oldName=%%~ni"
set newName=!random!%random%_!random!%random%!random!_%random!%random%
ren "%%i" "!newName!"
)
:: 部分二:创建对照表
echo 修改前名称 | echo 改名后名称 > renaming_log.txt
for /r %cd% %%i in (*) do (
if exist "%%~ni" (
set "oldName=%%~ni"
set "newName=%%~ni"
findstr /n "^" renaming_log.txt > renamed_log临时.txt
type renamed_log临时.txt >> renaming_log.txt
echo !oldName! ^>^> !newName! >> renaming_log.txt
del renamed_log临时.txt
)
)
:: 关闭延迟环境变量
endlocal
```
注意:
1. `ren`命令用于重命名文件或文件夹,`findstr`用于查找行数。
2. 使用`delayedexpansion`是因为我们在循环内部修改了变量值,如果没有它,变量会立即结束延展。
3. 这个脚本假设你在当前目录及其子目录中进行操作。如果在其他位置,请将`%cd%`替换为实际的路径。
阅读全文