gpt4 book ai didi

swift - 将目录移动到包含空格的目录

转载 作者:行者123 更新时间:2023-11-28 10:52:12 25 4
gpt4 key购买 nike

我正在用脚本制作一个命令行脚本,我想将一个目录移动到另一个目录。我想将我的目录移动到的目录称为“模板文件”

我正在尝试以下列方式移动它

let templatePath = "\"~/Library/Developer/Xcode/Templates/File Templates/\""
let directoryName = "DTT\\ MVP"
do {
try fileManager.moveItem(atPath: "\(currentPath)\(directoryName)", toPath: "\(templatePath)\(directoryName)")
} catch let error {
print(error)
}

但它给了我以下错误

Error Domain=NSCocoaErrorDomain Code=4 "“DTT MVP” couldn’t be moved to “File Templates” because either the former doesn't exist, or the folder containing the latter doesn't exist

有人知道怎么解决吗?

最佳答案

主要有两个问题

  1. 不得在 Swift 或 Objective-C 中转义路径。
  2. 波浪号不会自动展开。

此外,强烈建议使用 URL 相关 API,它提供方便(可靠)的方法来连接路径组件。

假设 currentURL 是一个 URL 实例,我建议使用这种语法

let fileManager = FileManager.default
do {
let libraryURL = try fileManager.url(for: .libraryDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let templateURL = libraryURL.appendingPathComponent("Developer/Xcode/Templates/File Templates")
let directoryName = "DTT MVP"
let source = currentURL.appendingPathComponent(directoryName)
let destination = templateURL.appendingPathComponent(directoryName)
try fileManager.moveItem(at: source, to: destination)
}
catch {
print(error)
}

关于swift - 将目录移动到包含空格的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com