2013-11-22 52 views
9

(コンピュータAで)バッチスクリプトを実行しています。このスクリプトは、別のコンピュータ(コンピュータB)からいくつかのファイルをコピーします。バッチスクリプトが実行されると、「Sharing Violations」のために、コンピュータBからそのディレクトリにいくつかのファイルをxcopyできないことが報告されます。False 'Sharing Violation' Xcopyエラーメッセージ

他のstackoverflowページを読むと、別の他のプログラムがファイルをロックしている(別のプログラムが現在ファイルを使用している/ファイルにアクセスしている)ときに発生することがわかります。しかし、私はコンピュータBに行き、コンピュータAが(共有違反のために)ロックされていたファイルを削除することができます。

私が想像できる唯一の事は、コンピュータAのバッチスクリプトが以前のコマンドでファイルを(何とか)ロックしていて、この以前のコマンドがファイルをロックしているということですか?しかし、私はバッチスクリプトのコマンドは、特に指定しない限り連続して実行します。

誰も以前にこの問題があったことはありますか?スクリプトは約1〜2週間前に違反を共有することなく正常にコピーされます。スクリプトに変更はありません。

+0

削除共有は読み取り共有とは異なります。 –

+0

多分**有用な** http:// techinfo.laurenceholbrook.com/FolderSharingError.html' – Kiquenet

答えて

17

は多くの試行錯誤の後、私は共有違反

私はコンピュータにコンピュータBからファイルをコピーしてを得ていた理由を確認することができました

私はコンピュータBがあったため、共有違反が発生したと思っていました[ハードドライブに保存されている]ファイルのコピーを作成することはできません。

実際には、コンピュータA(コンピュータコピー先)のディレクトリには、上書きできないファイルがありました。これが私が共有違反を得た理由です。

コンピュータAのディレクトリにあるファイルの1つは、私が殺したと思われる実行可能なタスク(taskkill)でした。しかし、この実行ファイルはtaskkill(実際に何らかの理由でタスクマネージャにリストされていませんでした)プロセスで見落とされましたが、このプログラムはまだ実行されていました(ファイルが使用されていました)。したがって、ファイルを上書きしようとすると、xcopyはこのファイル/実行可能ファイルを上書きするアクセスが拒否され、共有違反が発生しました。

コンピュータBのファイルがコピーを許可しない場合、xcopyの実行中に共有違反が発生するという印象を受けました。

+4

終了:共有違反メッセージは、完全に理解されていませんでした。 – Fractal

+1

この普遍的なユーティリティを書いた天才は、より意味のあるエラーメッセージを書くために15秒を費やすことができませんでした。 –

4

ほとんどの場合、別の実行可能プログラム(exe)が何らかの理由でコピーしたいファイルを使用しているためです。ちょうどそれを使用してプログラムを殺すと、コピーが動作します。

2

バッチファイルでxcopyと同じ問題が発生し、共有違反を引き起こすファイルに読み取り専用属性が設定されていることが検出されました。読み取り専用属性を削除すると、ファイルがコピーされました。

読み取り専用ファイルの上書きを許可するには、すでにxcopyで/ Rスイッチを使用していたことに注意してください。私はまた、ファイルがRead Only属性が設定された宛先フォルダに既に存在していて、xcopiedが成功した後にRead Onlyがターゲットファイルにリセットされているように見えます。私はまだこれをさらに調査する必要があります。/Kスイッチでこれを防ぐことができます。

また、バッチファイルには一連のxcopyステートメントが含まれています。共有違反が最初の行をクラッシュしましたが、バッチファイルは後続のxcopy行まで続行できました。共有違反メッセージが画面からスクロールしてしまったため、かなりの間、エラーが気付かれていませんでした。また、エラーが発生しても/ Cスイッチを使用してコピーを続けることもできます。

これは、この問題に遭遇した他の人にとって役に立ちそうですか?

+0

私は '/ e/q/h/r/y'オプションを使用します。 **エラー。 – Kiquenet

2

ファイル/ディレクトリを別のプロセスで一時的に使用できない/ロックすることがあります。バッチプログラムがその時点でコピーしようとすると、「不明なエラー/共有違反」が発生します。

"xcopy/copy"の代わりにrobocopyを使用すると、すぐには失敗しないため、失敗する前に数回再試行するので、その場合はより適切です。

0

これは、私がwarファイルをtomcatディレクトリにコピーしようとしたときに発生しました。私は、確かに、風袋が止まったことを確認するために続けた。問題は、私が内容を調べていたときに7zipで戦争ファイルを開いたことでした。私は7zipと問題が離れたときに閉じました。

明らかに、これが発生していた時期はそれほどではありません。

関連する問題