- ベストアンサー
DOSのコマンドで、隠しファイルをcopyまたはrenameする方法
OSは、Windows98SEです。 隠しファイルの属性のついたファイルをいじる前に、それをバックアップしたいとします。 しかし、隠しファイルをDOSプロンプトでcopyをしようとしても、 「ファイルが見つかりません」と文句を言ってきます。 (renameの場合も同様に文句を言ってきます。) dir /A:H で表示はできるし、エクスプローラでは見えるので、無いわけはないのです。 エクスプローラでコピーしたり元に戻したりできれば全くかまわないのですが、 もしそういうファイルを下手にいじってしまって起動できなくなってしまって 起動フロッピーで起動するときには、 DOSのコマンドでバックアップから元に戻したりすることになると思います。 DOSのコマンドで、隠しファイルをcopyしたりrenameするにはどうすればよいのでしょうか。 それとも、そういう場合は、あらかじめ、隠しファイル属性をはずしておくべきなのでしょうか。 私は DOSのコマンドは、cd, dir, copy, rename くらいしか知りません。(それらも、自信なし。) よろしくお願いいたします。 (この質問は、約1週間のあいだ 回答がないと、締め切ります。)
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
XCOPYは試されましたか? XCOPY /? でヘルプが出ますよ。 XCOPYは隠しファイルをコピーできます。 別の方法は属性を変更すればいいと思います。 ATTRIB /? のヘルプを参照して下さい。 隠し属性を変更すれば、普通のCOPYやRENAMEは効き目があります。
その他の回答 (4)
- parts
- ベストアンサー率62% (6366/10151)
DOSの説明はあるので、別の方向で・・・ 何かあったときにDOSコマンドでってことですね。 しかし、ソフトがあればそれの方が楽かもしれませんよ。 それなら、FDを使えば良いですよ。これは以前からあるのですが、DOS用のファイル管理ユーティリティです。 http://www.vector.co.jp/soft/dos/util/se020040.html ついでにもう一つFILMTN(ファイルメンテ)ですね。こちらもDOSのユーティリティです。 属性の変更、ファイルのコピー、複写、削除や移動ツリーなども可能です。 http://www.vector.co.jp/soft/dos/util/se010373.html ちなみに、これだけには頼らないように・・・といっても普通はこれだけで十分に用を足しますけど。
お礼
お返事遅れて申し訳ありません。 ご紹介のサイト見てみました。 参考にしたいと思います。ありがとうございました。 (書き込み:11月4日)
dosからでも属性の変更は出来ますよ。 「attrib」と言う外部コマンドで属性の表示・変更などが行えます。 例えば、Windowsフォルダにある「System.dat」の属性変更を行う場合の書式は attrib -H c:\Windows\system.dat となり、この「-H」のオプションで「隠しファイル属性」解除できます。 その後で移動やコピーをすれば大丈夫だと思います。 ちなみにrename時には「隠しファイル属性」以外にも「書き込み禁止属性」も絡んできますので 「-R」のオプションを追加する必要があるかもしれません。 おまけ: 「attrib」のオプションです・ 「+」属性を追加 「-」属性を解除 「R」読みとり専用 「A」アーカイブ 「S」システムファイル 「H」隠しファイル 「/S」指定されたパスの全てのディレクトリのファイル全てを処理 ですので「隠しファイル属性を解除」なら「-H」になるわけです。 (追加するときには逆に「+H」になります)
補足
attribについてくわしくありがとうございました。 >ちなみにrename時には「隠しファイル属性」以外にも「書き込み禁止属性」も絡んできますので >「-R」のオプションを追加する必要があるかもしれません。 「書き込み禁止属性」とは「読み取り専用属性」のことでしょうか。 (違っていたら、ご指摘ください。) 私が試したところ、「読み取り専用属性」があるものでもrenameできました。
- PtoP
- ベストアンサー率27% (24/86)
attrib コマンドを使って下さい。 attrib -h ファイル名 で隠し属性は解除できます。 その後 copy して下さい。 ※コマンドの詳細はヘルプで確認してください。
お礼
ご回答ありがとうございます。 attrib -h で隠しファイル属性を外すということですね。 ところで、システムファイルの場合、attrib -h はできないことがわかりました。 (私は、別にシステムファイルを対象と考えていたわけではありませんが、 いろいろ試しにやってみるとそうでした。) その場合は、attrib -h -s でシステムファイル属性も外せばいいようですね。
attrib -H ファイル名 copy or renameコマンド。 これで隠し属性でもコピーできます。その後にまたattribで+Hにすれば隠し属性になります。詳しいことは、attrib /?でみてください。 ではでは☆
お礼
ありがとうございました。 attrib -H ファイル名 で隠し属性をはずす、ということですね。 DOSプロンプトでやってみました。できました。 (ご回答になった皆様へ。補足または回答は、1つずつしていくので、すこし時間がかかるかもしれません。 すみません。)
お礼
>XCOPY /? >でヘルプが出ますよ。 >XCOPYは隠しファイルをコピーできます。 とてもいいことを聞きました。 早速 xcopy /? で調べました。 /h を使えばいいんですね。 つまり、 xcopy /h 送り側 受け側