- ベストアンサー
ファイルサーバで一時フォルダ
社内のファイルサーバに一時フォルダを作成したいと考えています。 そこで、一週間に一回(例:毎週金曜日)の特定の時間に一時フォルダ内のファイルの削除のやり方を教えてください。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>また、delコマンドはサブディレクトリの削除ができませんでした。 >RMDIRには"*"が使えないようなので、サブディレクトリのみの指定が RMDIR /S * 相当のことをしたいのなら、 FOR /D %%I IN (*) DO RMDIR /S %%I と、forでループをまわすとできます。
その他の回答 (3)
- ShadowMoon
- ベストアンサー率59% (73/122)
>やってみましたが、ディレクトリごと削除してしまうと、 >共有の設定を再度行わないといけません。 >また、delコマンドはサブディレクトリの削除ができませんでした。 >RMDIRには"*"が使えないようなので、サブディレクトリのみの指定が >うまくできません。 netコマンドを使えば共有設定を再度行うことが可能です。 共有する名前を仮に共有フォルダ、元になるフォルダ(ディレクトリ)を仮にd:\元folderとすると、下記のようなバッチコマンドでできると思います。 rem 共有を削除し、ディレクトリをサブディレクトリも含め削除します。 net share 共有フォルダ /delete rmdir d:\元folder /s rem ここまでが削除の処理で後は新規に作成する処理です。 md d:\元folder net share 共有フォルダ=d:\元folder /qスイッチなどはご自分で後で追記してください。 Xcopyコマンドでは上書きにならないのでこのような処理しかできませんでした。 あと、バッチプログラムでなくてもファイル操作可能なソフトであれば、同様な操作が可能と思います。(例えばAccess2000で、あるフォームを起動させて、開くときのイベントで、ファイル操作するとかでも可能と思いますが・・・) ご参考になれば幸いです。
- ShadowMoon
- ベストアンサー率59% (73/122)
フリーソフトを使わないのであれば、Windows2000ならMS-DOSバッチプログラムを作成し、タスクスケジューラで作成したバッチプログラムを起動する方法は、どうでしょうか? (1)バッチプログラムの作成 (1)テキストファイルを新規作成 (2)作成したテキストファイルの拡張子を.txtから.batに修正 (3)右クリックして編集を選択 (4)delコマンドで作成した一時フォルダを削除するコマンドを入力 (5)Mkdir(またはmd)コマンドで一時フォルダを作成するコマンドを入力 (2)タスクスケジューラの作成 (1)コントロールパネルを表示(スタート-設定-コントロールパネル) (2)タスクを開く (3)スケジュールされたタスクの追加で先に作成したバッチプログラムを指定する。あわせてスケジュールも設定する。 でもできると思います。MS-DOSコマンドをヘルプで確認してください。
補足
回答ありがとうございます。 やってみましたが、ディレクトリごと削除してしまうと、 共有の設定を再度行わないといけません。 また、delコマンドはサブディレクトリの削除ができませんでした。 RMDIRには"*"が使えないようなので、サブディレクトリのみの指定が うまくできません。 なんだかもう少しでできそうなのですが・・・。 よろしくお願い致します。
- Brown2002
- ベストアンサー率32% (24/74)
2つのフォルダの同期を取るフリーソフトで、「RealSync」ってのがあります。 これで、任意の空フォルダを更新元に設定し、目的の一時フォルダを更新先に設定しておけば目的は達成できます。 # つまり、更新先のフォルダ内部を、更新元(空フォルダ)と合わせるため、全ファイルが削除されます。 決まった時間を自動更新時間として設定できますし、サーバーのバックアップなども同時にこのソフトでできますので、 便利ですよ。 一度おためし下さい。
補足
早速の回答ありがとうございます。 できれば、新しいアプリケーションをインストールするのではなく、 Windowsのみの機能で実現したいのですが・・・。
お礼
できました。 テストでコマンドプロンプトに直接コピッて試して見たのですが、 %%はバッチで利用するときのみなんですね。(恥) ありがとうございました。
補足
うーん、できないようです。 『%%I の使い方が誤っています。』と出ます。 何か勘違いしているのでしょうか? %%Iの所は書き換える必要があるのでしょうか? 補足よろしくお願い致します。