3

SendTo フォルダーに単純な .bat (move.bat) ファイルがあり、コンテキスト メニューを使用してファイルとディレクトリを任意の場所から指定したフォルダーに移動します。これはXPで機能しました。ただし、Windows 7 では、アクセス拒否エラーが発生します。管理者(runas)として開かれたcmdでも機能しません。

move.bat の内容:

move %1 c:\specifiedfolder
4

4 に答える 4

1

私はこれと同じ問題を抱えていたので、少し実験しました。

Windows 7 の時点で、Windows でディレクトリへのハンドルを開くと、アクセスが拒否されるようです。これには、そのディレクトリで開いているエクスプローラーと、ネットワーク経由でそのディレクトリを使用しているユーザーが含まれます。

ディレクトリの名前を変更する場合は rename を使用できますが、それ以外の場合はパスを同じに保ちます。これは、そのディレクトリ内で開いているエクスプローラ ウィンドウなどの開いているハンドルがある場合でも機能します (ウィンドウ内のパスが更新されます)。自動ネットワークバックアップなどに使用する可能性が高いもの。

アクセス許可の設定が機能しなかった場合は、ほぼ確実に、エクスプローラーからハンドルが開いているか、そのディレクトリから実行されている実行可能ファイル、または同様のものです。

于 2011-04-13T23:38:05.087 に答える
1

Windows 7 では、管理者としてバッチを実行する必要があります。ただし、スクリプトの開始時にディレクトリをホームディレクトリに変更してください。現在のディレクトリは、管理者として実行する場合とは異なります。

または、管理者権限でコマンド ウィンドウを起動して、バッチを入力またはドラッグ アンド ドロップすることもできます。ファイルをそこに...

別の方法は、/Rオプションを使用してxcopyし、ソースを削除することです...または単にrobocopyを使用します

robocopy %1 c:\specifiedfolder /E /IS /MOVE

それでも、スキップされたファイルを削除する必要があります...

于 2011-09-22T07:41:26.487 に答える
1

管理者に takeown /F <filename> (ファイルの場合)および
takeown /f <foldername> /r /d y (フォルダーの場合)の所有権を取得してから、ファイルまたはフォルダーの移動を試みてください

所有権を取得した後、cacls ユーティリティを使用して管理者ファイルのアクセス許可をフル コントロールに設定します。

cacls <folder> /T  /G admin:F
于 2010-01-01T19:54:20.660 に答える
0

システム プロセスによって開かれているファイルがあるかどうかを確認します。移動コマンドを実行する前に、すべてのファイルを閉じる必要があります

于 2014-01-27T02:16:43.477 に答える