关于Unity工程的Git配置,可以参考:Untiy工程 .gitignore的配置
新建一个文件夹,里面存储多个Unity工程,然后把脚本放到该目录下,运行即可把所有Unity工程里的所有临时文件全部清除(如果该工程正在使用Unity打开,则需要先关闭该工程)
clearUnity.bat
python clearUnity.py
pause
clearUnity.py
import os
import shutil
dirs = ['.idea', '.vs', 'Logs', 'obj']
files = ['.sln', '.csproj']
dirsCnt = 0
filesCnt = 0
def delWithCmd(path):
try:
if os.path.isfile(path):
cmd = 'del "'+ path + '" /F'
print(cmd)
os.system(cmd)
except Exception as e:
print(e)
def deleteDir(dirPath):
global dirsCnt
global filesCnt
for root, dirs, files in os.walk(dirPath, topdown=False):
for name in files:
try:
filesCnt += 1
filePath = os.path.join(root, name)
print('file deleted', filesCnt, filePath)
os.remove(filePath)
except Exception as e:
print(e)
delWithCmd(filePath)
for name in dirs:
try:
os.rmdir(os.path.join(root, name))
dirsCnt += 1
except Exception as e:
print(e)
os.rmdir(dirPath)
def delDir(dirPath):
global dirsCnt
shutil.rmtree(dirPath)
dirsCnt += 1
print('dir deleted', dirsCnt, dirPath)
def delFile(filePath):
global filesCnt
os.remove(filePath)
filesCnt += 1
print('file deleted', filesCnt, filePath)
def delete(path):
try:
if os.path.isfile(path):
delFile(path)
elif os.path.isdir(path):
deleteDir(path)
except Exception as e:
print(e)
for proj in os.listdir():
if not os.path.isdir(proj):
continue
os.chdir(proj)
print(os.getcwd())
for p in os.listdir():
if os.path.isdir(p) and p in dirs:
delete(p)
elif os.path.isfile(p) and os.path.splitext(p)[1] in files:
delete(p)
libPath = 'Library'
if os.path.exists(libPath) and os.path.isdir(libPath):
os.chdir(libPath)
for p in os.listdir():
if p == 'LastSceneManagerSetup.txt':
continue
delete(p)
os.chdir('..')
os.chdir('..')