エクスプローラはファイルの複製や削除などで毎日のように使われていると思います。
ここではエクスプローラのコピペや削除についての不具合とその対策をまとめていきます。
ファイルコピーが遅い
ファイルのコピーがやけに遅く感じられる場合があります。
あるフォーラムで以下のような方法が紹介されています。
ドライブを右クリックしてプロパティを表示します。
「ハードウェア」タブでドライブを選び「プロパティ」を押します。
さらにドライブで「設定の変更」を押します。
次にポリシータブで、「書き込みキャッシュのポリシー」を表示させ、両方ともチェックを入れます。
ファイルがコピーできない
ファイルが大きすぎてコピーできない場合は?
ファイルが大きすぎてコピーや移動ができない場合には、物理的に空きスペースが足りない場合には当然エラーになります。
まずは移動先の空き容量が、ファイルのサイズよりもあることを確認しましょう。
またUSBメモリがFAT形式でフォーマットされていると、4GB以上の大きなファイルは対応していません。
その場合にはNTFSでフォーマットしないといけません。
フォーマットを確認するには、ファイルエクスプローラからUSBメモリを右クリックし、プロパティを選びます。
すると「ファイルシステム:FAT」などのように確認できます。
フォーマットしなおすには、ドライブを選び右クリックから「フォーマット」を選びます。
ダイアログではファイルシステムを「NTFS」にしてから実行しましょう。
フォーマットが終わったら、再度ファイルをコピーしましょう。
80070079エラーの場合は?
ファイルサイズの大きなファイルのコピーなどで発生します。
ハードディスクに空きは十分か確認し、先に不要なファイルは削除して空き容量を確保しましょう。またデフラグでディスク領域を整理するのも有用しょう。
参考:
error 0x80070079: The semaphore timeout period has expired Solved - Windows 7 Help Forums
ファイルが上書きできない
うちで使っているMySqlというソフトの設定を変更するには、「Program Files」内のMySqlのフォルダ内にある「.ini」ファイルを上書きして設定を変更するようです。
ところが実際にテキストエディタで開いて変更しようとしても、上書き禁止となってしまいます。
また先にファイルをコピーして、ほかのディレクトリに作成。それを上書き変更したうえで、元の場所でコピーで上書きしようとしてみたらダメでした。
このような場合はコマンドプロンプトなどで変更したほうがいいようです。
バッチファイルを作る
今回はバッチファイルを作ります。バッチファイルは、命令を書いたファイルを作って「test.bat」などのように拡張子「.bat」のファイルを作ります。するとあとはそのファイルを起動するだけで命令が実行できるようになります。
テキストエディタなどで新規ファイルを作ります。
今回は「XCOPY」というコマンドを使ってファイルをコピーします。
コマンドプロンプトでファイルを上書きコピーするには以下のフォーマットになります。
「XCOPY コピーするファイルのパス コピーされるファイルのパス /R /-Y」
「/R /-Y」のようなのは「ファイルがあってもうわがきしてくださいね。」というコピーする際のオプション情報をあらわします。
今回、うちでの場合は以下になります。
xcopy C:\Data\my-default.ini C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini /R /-Y
作ったら「test.bat」など任意の名前で保存します。
バッチファイルを停止する
作ったバッチファイル「test.bat」をダブルクリックで起動すると、処理を実行できます。
しかし処理が終わってすぐ終了してしまいます。
これでは、命令がうまくじっこうされているのか確認できません。
そこで、先ほど作ったバッチファイルを開き、命令に「PAUSE」を加えることで停止できるようになります。
xcopy C:\Data\my-default.ini C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini /R /-Y
PAUSE
PAUSEで止めた結果、「無効なパラメータの数」というエラーが出ていました。
「無効なパラメータの数です」が出たら?
ファイルコピーをしようとするとパラメータの数が違うというエラーになる場合があります。
実際にパラメータ数が少ない場合もありますが、ファイル名に注意しましょう。
特にフルパス名に半角スペースなどがあるとあやういようです。
そこで、半角スペースなどが含まれるパス名を「" (ダブルクォート)」で囲むことで回避させることができます。
ファイルを開いて、半角スペースなどが含まれる後半のパス名をダブルクォートで囲みます。
xcopy C:\Data\my-default.ini "C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini" /R /-Y
PAUSE
これでファイルをまた保存しなおします。
「アクセスが拒否されました」が出たら?
今度はアクセスが拒否されましたとエラーが出ました。
アクセスが拒否されないようにするには、バッチファイルを起動するときに管理者権限で実行します。
ファイルを選択して、右クリックでメニューを表示させてから「管理者権限っで実行」を行いましょう。
これでやっとProgram Files内のファイルを上書きコピーすることができました。
削除できない?
通常はフォルダを開いて、特定のファイルを選択後、右クリックメニューから「削除」するか、「Del」キーで削除を実行することができます。
しかしなぜかあるファイルが削除されないことがありました。
対策としてはコマンドプロンプトからファイル削除を実行すると無事ファイルが消えました。
(1)コマンドプロンプトを移動
コマンドプロンプトはメニューにない場合もあります。
ウィンドウズキー+Xでメニューを出し、ファイル名を指定してを選びます。
次に「cmd.exe」といれて実行するとコマンドプロンプトが起動します。
(2)ディレクトリを移動
目的のディレクトリへ「CD」コマンドを使って移動します。
例えば現在のフォルダ名にある「Downloads」フォルダへ移動する場合は「cd Dwonloads」と書きます。
逆に1階層上のフォルダに行く場合には「cd ..」と書きます。
(3)ファイル削除
ファイル削除では「del」コマンドを使います。
特定のファイル「temp.txt」を消すには「del temp.txt」と書きます。
フォルダ内のpng画像ファイルを消すには「del *.png」と書きます。
フォルダ内のすべてのファイルを消すには「del *.*」と書きます。
実行後「よろしいですか」とでるので「Y」を押せば完了します。
ファイル削除では、ちゃんとファイル位置やフォルダを確認し、不用意に予想外のファイルを消してしまうことのないように十分注意してください。