一括削除:アクセスが拒否されました


10

delバッチファイル内のコマンドに問題があります。削除ステップに到達すると、「アクセスが拒否されました」というメッセージが表示されます。私のバッチコマンドは次のようになります。

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del *.dtsConfig
ren *.dev .
popd

ここに画像の説明を入力してください

Windowsエクスプローラで問題なくディレクトリを参照してファイルを削除できます。

管理者として実行してみましたが、それでも同じ問題が発生しました。

回答:


7

delコマンドで読み取り専用ファイルを強制的に削除するには、/Fフラグを追加します。

どうやら、読み取り専用ファイルは通常Windowsエクスプローラーで削除できますが、通常はバッチファイルで削除できません。ファイルが読み取り専用かどうかを確認するには、ファイルを右クリックしてプロパティを選択するかattrib <filename>、コマンドプロンプトでEnterキーを押します。これにより、さまざまなファイル属性に対応する一連の文字が表示されます。

R = Read-only file
A = Archive file
S = System file
H = Hidden file

プロパティウィンドウのチェックボックスをオフにするか、コマンドを実行して、読み取り専用タグを削除できますattrib <filename> -R


残念ながらそれでも問題は解決しませんが、質問を更新してあなたの提案を含めます。
agradl 2011

入れてみてくださいpauseする前にdel、コマンド、およびそれが一時停止している間、Windowsエクスプローラを通してそれを削除してみてください。
SaintWacko 2011

私は解決策を見つけましたが、私の解決策に加えていくつかの提案を含めるように回答を編集したい場合は、回答としてマークさせて
いただき

さて、その情報は遡及的に役に立ちますか?:)
SaintWacko

今から数か月後にこの問題を忘れたときに役立つと思います:)
agradl

2

「del」コマンドで利用可能なオプションを試してみたところ、削除しようとしたファイルが読み取り専用であることがわかりました。問題を解決するには、ファイルを編集して読み取り専用属性を削除するか、/ Fオプションを指定します。

最終的なスクリプトは

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del /F *.dtsConfig
ren *.dev .
popd

簡単な解決策ですが、誤解を招くエラーメッセージが表示されます。うまくいけば、これは他の誰かを助けます。


それを読むことしかできない場合は、アクセスが拒否されたことは、私にとっては正しい権利のようです。
surfasb 2011

1

私のWindows 8.1 PCで機能したもの:

まず、次の方法でWindowsエクスプローラを閉じます。

Ctrl+ Alt+ Delを押して、タスクマネージャを開き、プロセスに移動し、Windowsエクスプローラを見つけて右クリックし、タスク終了します。スタートバーがなくなっていても心配はいりません。ファイル間を移動するにはAlt+ Tabを使用します。次に、タスクマネージャで [ ファイル ]をクリックし、[ 新しいタスク実行 ]をクリックして、次のように入力しcmdます。これにより、コマンドラインが開きます。

ターミナル内:

バージョンが32ビットで、私の場合は、Program Files(x86)にあるため、次のように入力する必要があります。

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll

これは登録を解除するためのものでした。

を使用cd directorynameしてディレクトリ間を移動でき、を使用して1つのディレクトリを取得できますcd ..。ディレクトリにあるものを表示するには、そのディレクトリdirにいるときに入力できます。ファイルタイプを削除する場合:

del /F filename

その後、タスクマネージャーを再度開き、[ファイル]に移動して実行しexplorerます。これにより通常の表示になります。削除したいGitフォルダーに移動して、単純に削除します。

私はこれがWindows 8.1を使用している他の人々のためにうまくいくことを望みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.