mklinkエラー:ファイルが既に存在する場合、ファイルを作成できません


27

win7 64ビットマシンでシンボリックリンクを作成して、iTunesバックアップデータを別のドライブにリダイレクトしようとしています。構文は正しいと確信していますが、このエラーをクリアする方法を理解できません。同じエラーが発生する以下の両方のコマンドを試しました。管理者コマンドウィンドウで実行しています。このコマンドを実行できないようにする企業グループポリシーがありますか?

mklink /D "C:\Users\odellt1\AppData\Roaming\Apple Computer\MobileSync\Backup" "E:\Apple Computer\MobileSync\Backup" 

または

mklink /J "C:\Users\odellt1\AppData\Roaming\Apple Computer\MobileSync\Backup" "E:\Apple Computer\MobileSync\Backup"

エラー

そのファイルが既に存在する場合、ファイルを作成できません。


元のディレクトリはどれですか?
アクラムバーカウィー

元のディレクトリはC:\ Users \ odellt1 \ AppData \ Roaming \ Apple Computer \ MobileSync \ Backup
ChiliYago

Eドライブにリンクしているフォルダーは存在しますか?リンクと同じ名前のフォルダーがCドライブに存在しますか?EドライブはNTFSでフォーマットされていますか?
ハリージョンストン

1
構文は正しいため、このコマンドを実行する前に、次の手順を実行してください。現在のmobilesyncバックアップフォルダーのすべての内容をE:\ Apple Computer \ MobileSync \ Backupに移動します。完了したら、「C:\ Users \ odellt1 \ AppData \ Roaming \ Apple Computer \ MobileSync」から空のバックアップサブフォルダーを削除します。ジャンクションは、同じ名前のサブフォルダーがその場所に存在しない場合にのみ作成できます。
カランビルカン

回答:


29

構文が正しくありません。mklink次のsynatxがあります。

mklink [options] <Link> <Target>

Target存在するファイル/フォルダーであり、ターゲットにリンクするLink作成済みのフォルダーです。

したがって、コマンドは次のようになります。

mklink /D "E:\Apple Computer\MobileSync\Backup"  "C:\Users\odellt1\AppData\Roaming\Apple Computer\MobileSync\Backup"

mklinkの使用法については、このリンクを参照してください。


私はドキュメントを調べましたが、実行するのに問題がないと思うほど簡単です。しかし、運が悪かったり、あなたが示唆したようにリンク/ターゲットを逆にした場合でも、同じエラーメッセージが表示されます。
ChiliYago

1
E:\ Apple Computer \ MobileSync \ Backupフォルダーが存在しないことを確認する必要があります
Akram Berkawy

1
うまくいきました。完全なパスを削除すると、「システムは指定されたパスを見つけることができません。」というエラーに気付きました。そのため、パスを復元し、パス内の最後のフォルダー(バックアップ)のみを削除してから、機能しました。
ChiliYago

1
これは正しい答えではありません。これにより、iTunesが別のドライブにリダイレクトされないsimlinkが作成されます。それはまったく逆のことを行います-それは別のドライブをiTunesバックアップフォルダに向けます。
-Vaiden

8

単純な方法は、元のappleフォルダーバックアップ(C:\ドライバー内)でBackupフォルダーを削除することです。コマンドを実行すると:

mklink /J "%APPDATA%\Apple Computer\MobileSync\Backup" "E:\iTune Backups"

Windowsは、C:\ドライバーにバックアップのリンクショートカットを作成します。


2
これはOPを行うに何を意味するのかない正しい答えである
Vaiden

4

「%AppData%」を使用するまで、「ファイルが既に存在するエラー」で同じ問題が発生しました。

mklink / J "%APPDATA%\ Apple Computer \ MobileSync \ Backup" "E:\ iTuneバックアップ"

C:\ Users \ Me \ AppData \ Roaming \ Apple Computer \ MobileSync \ Backup << === >> E:\ iTune Backups用に作成されたジャンクション

注:必ず引用符を使用してください。そうしないと、構文コマンドエラーが発生します。


ジャンクションを作成する前に、ソースフォルダーとターゲットフォルダーが存在しないことを確認するこの簡単な方法が気に入っています。ジャンクションを作成すると、ソースフォルダーが作成されますが、ターゲットフォルダーは作成されません。そのため、ターゲットフォルダーを手動で作成する必要があり、すべてが期待どおりに機能しています。
ティモト

これで修正されましたが、%AppData%で修正される理由を説明していただければうれしいです。
オーレス

2

上記のコメントで言及したエラーSystem cannot find the path specifiedは、リンクの元のソースに存在しないフォルダーサブレベルでシンボリックリンクしているときに発生するように見えることを付け加えました。

リンクできないという意味

"c:\program files (x86)\some folder1\some folder2\"

ターゲットに

"d:\programs\some folder1\some folder2\"

少なくとも以下の場合を除いて機能しません

"c:\program files (x86)\some folder1"

リンクソースの一部として存在します。リンクする必要があります

"c:\program files (x86)\some folder1"

"g:\programs\some folder1" 

または、少なくとも空のフォルダを作成する必要があります

"c:\program files (x86)\some folder1"

そして、リンクを作成します

"c:\program files (x86)\some folder1\some folder2" 

"g:\programs\some folder1\some folder2"

これはMicrosoft側のバグのように見えますが、実際にはこの答えは正しいです。E:\ foo`にリンクC:\fooするときはE:` for instance, 、cdするために存在する必要がありC:\fooます。あなたはしかし、行う CDを、あなたは中に置かしているE:` -- **not** E:\ foo`を。これを指摘してくれてありがとう、私はそれを理解していなかっただろう。
Qix 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.