mac去除dmg密码操作到编程
2017-10-14 本文已影响78人
十一岁的加重
由于使用osx 系统,经常会访问到网站http://xclient.info/s/?_=a05fc4a0d4599abedc164b50509cf321
但是这个网站下载的dmg都会有密码xclient.info
,每次操作起来还是挺麻烦的。所以我们得去除这个密码,毕竟作为一个开发者不管是写代码还是电脑使用都得高效。
一、打开disk

二、打开菜单栏里的转换

三、选择有密码的dmg

四、输入名字,选择保存位置,

五、转换前会叫你输入原来 的密码
xclient.info

六、已经生成

七、双击 打开时,已经没有密码了

那么问题来了,这里有一百个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 'xclient.info' in path:
pathNoBlank = path.replace(' ', '')
os.renames(path,pathNoBlank)
newPath = pathNoBlank.replace('xclient.info', '')
cmdString = 'hdiutil convert ' + pathNoBlank +' -format UDRO -o ' + newPath
print cmdString
os.system(cmdString)
walkFolder(rootdir)
现在遇到的问题,运行python时,这个窗口会弹出来叫你输入xclient.info
,暂不知道如果用代码输入

待续…………