菜狗的脚步学习
文章目录
- 一、pdf到h文件转换并恢复
- 二、
- 三、
一、pdf到h文件转换并恢复
编写一个bat,将当前文件的.pdf文件后缀改为.h文件,然后将当前文件下的.h文件全部打开,再依次关闭,待所有.h文件都关闭后,再将.h文件改为.pdf后缀
以下是一个能够完成你所要求操作的批处理文件。这个批处理文件会先把当前目录下的所有.pdf
文件后缀改成.h
,接着打开这些.h
文件,随后依次关闭它们,等所有.h
文件都关闭之后,再把.h
文件改回.pdf
后缀。
@echo off
setlocal enabledelayedexpansion:: 创建一个临时文件来存储原始文件名
set "tempFile=renamelist.tmp"
if exist "%tempFile%" del /f /q "%tempFile%":: 重命名.pdf为.h并记录原始文件名
echo 正在将.pdf文件重命名为.h文件...
for %%f in (*.pdf) do (echo %%f>>"%tempFile%"ren "%%f" "%%~nf.h"
):: 打开所有.h文件
echo 正在打开.h文件...
for %%h in (*.h) do (start "" "%%h"
)echo 请查看文件内容,按任意键继续关闭文件...
pause >nul:: 关闭所有.h文件
echo 正在关闭.h文件...
taskkill /f /im notepad.exe >nul 2>&1:: 等待一段时间确保文件已关闭
timeout /t 2 /nobreak >nul:: 重命名.h为.pdf
echo 正在将.h文件重命名回.pdf文件...
for /f "delims=" %%o in ('type "%tempFile%"') do (set "original=%%o"ren "!original:~0,-4!.h" "!original!"
):: 删除临时文件
if exist "%tempFile%" del /f /q "%tempFile%"echo 操作已完成!
注意:另存为为GB18030
代码功能解析
-
变量与临时文件设置:
setlocal enabledelayedexpansion
:启用延迟环境变量扩展,以在循环内部正确处理变量。- 创建临时文件
renamelist.tmp
,用于存储原始的.pdf
文件名。
-
文件重命名与记录:
- 遍历当前目录下所有
.pdf
文件,将文件名写入临时文件。 - 使用
ren
命令将.pdf
文件重命名为.h
文件,保留原文件名(不含扩展名)。
- 遍历当前目录下所有
-
文件打开操作:
- 使用
start
命令打开所有.h
文件,默认会用记事本或关联程序打开。
- 使用
-
文件关闭操作:
- 脚本暂停并提示用户按任意键继续,以便用户有时间查看文件内容。
- 使用
taskkill
命令强制关闭所有记事本进程(假设.h
文件由记事本打开)。
-
恢复文件扩展名:
- 读取临时文件中的原始文件名,将对应的
.h
文件重命名回.pdf
扩展名。 - 删除临时文件,清理操作痕迹。
- 读取临时文件中的原始文件名,将对应的
使用说明
- 将上述代码保存为
.bat
文件(例如pdf_rename.bat
),并放在包含.pdf
文件的目录中。 - 双击运行该批处理文件,它会自动完成所有操作。
- 在文件打开后,你可以查看内容,按任意键后文件将被关闭并恢复原名。
注意事项
- 该脚本假设
.h
文件由记事本打开,若使用其他程序打开,需修改taskkill
命令中的进程名。 - 确保临时文件名
renamelist.tmp
不会与现有文件冲突。 - 操作过程中请不要手动删除临时文件,否则可能导致部分文件无法恢复原名。