所以这个问题的全部内容只是我忘了将new file
更改为new folder
。 (因为我只是复制,粘贴代码几次。)
关于vadian的答案,这里是新代码(已编辑):
property rustItems : {"Render.plist", "KleurInstellingen.txt", "Vrienden.txt", "Vijanden.txt", "Rust-Python-Embed.py", ¬
"Std__PATH.plist", "CargoRun.sett", "Rust-Package.fix", "Rust-Package-Auto.app", ¬
"Rust-PKG.pkg", "Project-Layout.jar", "Run-EXP.gib", "Radar.jar"}
property displayItems : {"Commons-io-2.4.jar", "commons-io-2.4.jar.sha", "Lastlog.log.gz", "Lastlog2.log.gz", ¬
"windows.pkg", "ModuleSettings.pkg", "ModuleStates.pkg", "ColorBinds.pkg", "ModsReturn.pkg", "Textures_1.png", "Textures_2.png", "Textures_3.png"}
property jortpepeItems : {"Rust.class", "Rust$1.class"}
property utilityItems : {"Layout.class", "XYZ__Layout.class"}
property managerItems : {"Restrictions.class", "MAX__DELAY.class"}
property listenerItems : {"OtherEvents.class", "PlayerEvents.class", "PlayerEvents$1.class", ¬
"PlayerChat.class", "PlayerChat$1.class"}
set chosenfolder to choose folder with prompt "Choose the Game folder to install the mods."
tell application "Finder"
if exists folder "Rust$1" of chosenfolder then delete folder "Rust$1" of chosenfolder
set modsFolder to make new folder at chosenfolder with properties {name:"Rust$1"}
repeat with anItem in rustItems
make new file at modsFolder with properties {name:anItem}
end repeat
set displayFolder to make new folder at modsFolder with properties {name:"Display"}
repeat with anItem in displayItems
make new file at displayFolder with properties {name:anItem}
end repeat
set jortpepeFolder to make new folder at modsFolder with properties {name:"jortpepe"}
repeat with anItem in jortpepeItems
make new file at jortpepeFolder with properties {name:anItem}
end repeat
set utilityFolder to make new folder at jortpepeFolder with properties {name:"Utilities"}
set managerFolder to make new folder at jortpepeFolder with properties {name:"Managers"}
set listenerFolder to make new folder at jortpepeFolder with properties {name:"Listeners"}
repeat with anItem in utilityItems
make new file at utilityFolder with properties {name:anItem}
end repeat
repeat with anItem in managerItems
make new file at managerFolder with properties {name:anItem}
end repeat
repeat with anItem in listenerItems
make new file at listenerFolder with properties {name:anItem}
end repeat
end tell
end
感谢阅读。
Jort
PS:如果你知道另一个文件扩展名我可以添加.class .txt .pkg等,那么请用其他文件扩展名对这个问题发表评论。 (因为我仍然希望生成一个更大的假库,并且使用真实的现有文件名看起来更好:P)
答案 0 :(得分:1)
不是答案,而是改进。
这是使用列表和重复循环的脚本的较短版本。它不是重复整个代码来创建结构的错误分支,而是检查文件夹mods
是否存在,并在创建项目之前根据需要将其删除。
property modsItems : {"Render.plist", "KleurInstellingen.txt", "Vrienden.txt", "Vijanden.txt", "Rust-Python-Embed.pyth", ¬
"Std__PATH.plist", "CargoRun.sett", "Rust-Package.fix", "Rust-Package-Auto.app", ¬
"Rust-PKG.pkg", "Project-Layout.jar", "Run-EXP.gib", "Downloaded.txt", "Enttree.jar", "Radar.jar"}
property displayItems : {"Commons-io-2.4.jar", "commons-io-2.4.jar.sha", "Lastlog.log.gz", "Lastlog2.log.gz", ¬
"windows.pkg", "ModuleSettings.pkg", "ModuleStates.pkg", "ColorBinds.pkg", "ModsReturn.pkg", "Textures_1.png", "Textures_2.png", "Textures_3.png"}
property jortpepeItems : {"Rust.class", "Rust$1.class"}
property utilityItems : {"Layout.class", "XYZ__Layout.class"}
property managerItems : {"Restrictions.class", "MAX__DELAY.class"}
property listenerItems : {"OtherEvents.class", "PlayerEvents.class", "PlayerEvents$1.class", ¬
"PlayerChat.class", "PlayerChat$1.class"}
set chosenfolder to choose folder with prompt "Choose the Game folder to install the mods."
tell application "Finder"
if exists folder "mods" of chosenfolder then delete folder "mods" of chosenfolder
set modsFolder to make new folder at chosenfolder with properties {name:"mods"}
repeat with anItem in modsItems
make new file at modsFolder with properties {name:anItem}
end repeat
set displayFolder to make new folder at modsFolder with properties {name:"Display"}
repeat with anItem in displayItems
make new file at displayFolder with properties {name:anItem}
end repeat
set jortpepeFolder to make new folder at modsFolder with properties {name:"jortpepe"}
repeat with anItem in jortpepeItems
make new file at jortpepeFolder with properties {name:anItem}
end repeat
set utilityFolder to make new folder at jortpepeFolder with properties {name:"Utilities"}
set managerFolder to make new folder at jortpepeFolder with properties {name:"Managers"}
set listenerFolder to make new folder at jortpepeFolder with properties {name:"Listeners"}
repeat with anItem in utilityItems
make new file at utilityFolder with properties {name:anItem}
end repeat
repeat with anItem in managerItems
make new file at managerFolder with properties {name:anItem}
end repeat
repeat with anItem in listenerItems
make new file at listenerFolder with properties {name:anItem}
end repeat
end tell
答案 1 :(得分:0)
我已经得到了答案。在脚本中,您将看到此代码:
set thisfolder6 to make new file at thisfolder3 with properties {name:"Listeners"}
我忘记将new file
更改为new folder
(我只是复制,粘贴,复制,粘贴等)
所以现在固定代码是:
set thisfolder6 to make new folder at thisfolder3 with properties {name:"Listeners"}
(我也为其他行改变了这个)