#!/usr/bin/env python
# coding:utf-8
# xcopy Lib directory and rename all files to *d.lib
import os
from os.path import join,exists
import shutil
from win32com.shell import shell, shellcon
from msvcrt import getch
root_path = r"E:\workspace\Src"
origLibpath = root_path + r"\vc\Lib\lib18x64"
newLibpath = root_path + r"\libd\lib18x64"
if not exists(origLibpath):
print("Can't find original libs!")
else:
if os.path.exists(newLibpath):
shutil.rmtree(newLibpath)
for path, dirs, files in os.walk(origLibpath):
for pre_fname in files:
if not pre_fname.endswith('.lib'):
continue
new_fname = pre_fname.replace('.', 'd.')
pre_fullname = join(path, pre_fname)
new_fullname = join(path.replace(origLibpath, newLibpath), new_fname)
shell.SHFileOperation((0, shellcon.FO_COPY, pre_fullname, new_fullname, shellcon.FOF_NOCONFIRMMKDIR, None, None))
origLibpath = r"D:\devenv\Lib\vc90x64"
newLibpath = root_path + r"\libd\vc90x64"
for path, dirs, files in os.walk(origLibpath):
for pre_fname in files:
if not pre_fname.endswith('.lib'):
continue
new_fname = pre_fname.replace('.', 'd.')
pre_fullname = join(path, pre_fname)
new_fullname = join(path.replace(origLibpath, newLibpath), new_fname)
shell.SHFileOperation((0, shellcon.FO_COPY, pre_fullname, new_fullname, shellcon.FOF_NOCONFIRMATION|shellcon.FOF_NOCONFIRMMKDIR, None, None))
print("已复制了两处 Lib目录,文件重命名加d!")
print("按任意键退出。")
getch()