由于使用osx 系统,经常会访问到很多网站下载的dmg都会有密码,特别是风云社区上面的几千款免费精品Mac软件,社区地址如下:
每次操作起来还是挺麻烦的。所以我们得去除这个密码,毕竟作为一个开发者不管是写代码还是电脑使用都得高效。
一、打开disk
二、打开菜单栏里的转换
三、选择有密码的dmg
四、输入名字,选择保存位置,
五、转换前会叫你输入原来 的密码
六、已经生成
七、双击 打开时,已经没有密码了
那么问题来了,这里有一百个dmg,这样操作会不会太累 ,所以我们得用命令或者脚本,磁盘工具UI操作的背后肯定是有命令行的,所以我们搜索资料从别人的例子中,hdiutil convert ~/Desktop/‘filename.dmg’ -format UDTO -o ~/Desktop/'filename.iso可以知道用hdiutil命令。 然后我们在terminal里实践一下: hdiutil命令
hdiutil convert命令 根据例子中的UDTO,我们也找到了对应的UDRO命令
还有加密的可选项,当然我们不设置加密
然后我们实践 hdiutil convert ~/Desktop/Alfred.dmg -format UDRO -o ~/Desktop/AAA.dmg 这里会要求输入原密码
上面已经生成,当然双击也是完美的
那么我们的问题又来了,每次输入这些命令是不是太麻烦,我有一百个dmg会不会输入一百次命令,然后一百个文件名,所以我们得用编程语言去自动化处理。比如,我们把要去除加密的dmg文件放一个文件夹里,然后用代码去遍历这些dmg,然后自动执行命令自动输入密码。 待续………… 然后我们用python去实现
#!/usr/bin/env
python #-- coding: utf-8 --
import os
import os.path
import sys
reload(sys)
sys.setdefaultencoding(“utf-8”)
rootdir = ‘/Users/dfpo/Desktop’
def walkFolder(rootdir):
for parent,dirnames,filenames in os.walk(rootdir):
for filename in filenames:
path = os.path.join(parent, filename)
if path.endswith(’.dmg’) and ‘必应搜索风云社区’ in
path: pathNoBlank = path.replace(’ ', ‘’)
os.renames(path,pathNoBlank)
newPath = pathNoBlank.replace(‘必应搜索风云社区’, ‘’)
cmdString = ‘hdiutil convert ’ + pathNoBlank +’ -format UDRO -o ’ +
newPath print cmdString os.system(cmdString)
walkFolder(rootdir)
现在遇到的问题,运行python时,这个窗口会弹出来叫你输入密码,暂不知道如果用代码输入
未完待续…………