我有大约 300 个从 Exchange 2010 导出的 .pst 文件。最终,我将把它们导入另一个 Exchange/AD 环境。在原始环境中,用户名如下:FirstinitialMiddleInitialLastName,即 Bart P. Smith 将是 bpsmith。
在新环境中,用户名是姓氏的首字母。因此,bsmith。
除了手动重命名每个要导入的 pst 文件之外,是否有人知道如何批量重命名目录中的每个文件,并删除文件名中的第二个字母?
提前致谢。
答案1
在 .pst 文件所在的目录中打开命令提示符,并将以下文件放在该目录中(将其另存为renamepst.cmd
)
@echo off
for %%f in (*.pst) do call :renfile "%%f"
goto :eof
:renfile
set file=%1
echo rename %file% %file:~0,2%%file:~3,999%
此批处理文件已设置命令,因此它实际上不会执行任何操作。如果您对在命令提示符窗口中echo
运行后的输出感到满意,请从最后一行中删除,保留原样。renamepst.cmd
echo
rename %file% %file:~0,2%%file:~3,999%
不过,使用之前请先进行测试!
答案2
将此内容保存在 .bat 文件中,然后就可以了:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set file=
cd C:\test
for %%f in (*.pst) do (
set file=%%f
move !file! !file:~0,1!!file:~2,999!
)