人に聞けない痔の悩み、これでスッキリ >>

こんにちは。

Windows2000Serverで共有しているフォルダをNet Shareで共有解除する時に自動で「Y」を選択する方法を教えてください。
>NET Share 共有名 /delete

ユーザが共有フォルダ内のファイルを開いていると
「ユーザがファイルをオープンしています。本当に共有解除しますか?」といったメッセージが表示され「Y/N」の入力を求められます。
その時に自動で「Y」を入力し共有解除出きればと考えています。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

net share 共有名 /delete /y



/yオプションを付けたら強制切断されました。
お試しください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

/yオプションでファイルを開いていても強制切断できました。
これでbatファイルの作成ができます。

ありがとうございました。

お礼日時:2007/02/14 14:18

毎日、一旦共有を解除してまた共有し直すということでしょうか?


自動で実行するのはちょっとリスクが大きい気がします。

もしバックアップに支障が出ているとかなら、使用中のファイルのバックアップもできる高性能なバックアップソフトの購入するしかないように思います(サーバー用は高いですが)
そこまで重要なデータでなければ事前通達をおこない、それでも状況が改善されなければある程度は諦めてもしかたないと思います。
2003Serverなら使用中でもバックアップ取れるみたいですけどね。

この回答への補足

回答ありがとうございます。

毎日ではありません。
今回だけの作業になります。

補足日時:2007/02/14 14:11
    • good
    • 0

強引にセッションを切るのは微妙だと思うので共有のアクセスしてきた人のセッションを保持するアイドルタイムを


net config server /autodisconnect
でまず変更してみては?

この回答への補足

回答ありがとうございました。

net configでも、ファイルを開いている場合などは切断されないようです。
ユーザには共有解除の連絡はしてあるので、それでも開いている場合は強制的に切断して共有解除したいと考えています。
最終的にはbatファイルを作成してタスクスケジュールで深夜に実行する予定です。

よろしくお願いします。

補足日時:2007/02/13 11:05
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qping試験をコマンドプロンプトにて実行し、試験結果をtxtにて残したい。?

ping試験をコマンドプロンプトにて実行し、試験結果をtxtにて残したい。?
あらかじめ、作っておくホルダにtxtファイルにて、名前をつけて、
各試験結果を残したいのですが。試験方法までは、わかります。
その方法を教えて下さい。

Aベストアンサー

ping 123.123.123.123 > c:\tokutei\nantoka.txt

と フルパス指定してあげればいいのでは ないのでしょうか?

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

QDOSコマンドで指定日数よりも過去のフォルダを削除

サーバ上のログファイルを日毎に次のようなフォルダにまとめて管理しています。
(ログフォルダは翌朝のDOSバッチジョブでBACKUP_(処理日付)のフォルダを作成してその下に*.*指定で全てのファイル(除 フォルダ)を移動して作成します。)

例.
BACKUP_20041130
BACKUP_20041129
BACKUP_20041128
   ・
   ・
   ・
BACKUP_20040311
BACKUP_20040310

このフォルダを処理日付から数えて90日より古いものを削除するDOSコマンドバッチファイル(日次実行)を作成したいです。

プログラムを作成すればこれを実現するのは可能なんですが、なんとかDOSコマンドだけでこの仕組を作りこめないものでしょうか?

ご存知の方がいらっしゃったら教えて下さい。

Aベストアンサー

毎日必ずフォルダが作られているなら最新の90個を除いたものを消せばいいので、
for /f "skip=90" %%A in ('dir /b /ad /o-n BACKUP_????????') do rd /s /q %%A

ちゃんと日付けの計算をするなら、バッチコマンドだけでも不可能ではないですが長くなるので、日付け計算だけVBScriptを使うのが良いと思います。
echo WScript.Echo DateAdd("d",-90,Date) > tmp.vbs
for /f "delims=/ tokens=1-3" %%A in ('cscript //nologo tmp.vbs') do set OLD=BACKUP_%%A%%B%%C
del tmp.vbs
for /d %%D in (BACKUP_????????) do if %%D LSS %OLD% rd /s /q %%D

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QVBscriptからバッチに変数を渡すには?

VBscriptからバッチに文字列を渡したいのですが、どう書いたらいいでしょうか?

VBscriptにWscript.Quit 1と数字を入れた場合、バッチ側は%errorlevel%で取得できると思うのですが、文字列は出来ませんでした。

よろしくお願いします。

Aベストアンサー

こんな感じでできると思います。

[VBS側]
'環境変数に格納したい値をEchoして終了
WScript.Echo kekka

[バッチ側]
for /f "usebackq tokens=*" %%i IN (`call cscript //nologo <vbsフルパス>\hoge.vbs`) DO @set vbskekka=%%i

※INの中のクォートはバッククォートである点に注意

私はこんな感じでよく使っていて、もちろん文字列もOK
ですが、日本語が扱えるかどうかは未検証です。
(半角英数以外はつかった事がない)

Q管理者としてログインしているのに、なぜかファイルを削除できない。

管理者としてログインしているのに、なぜかファイルを削除できない。
windows7で、管理者として入っているのにファイルが削除できません。所有者の変更はしてみましたが、うまくいきません。所有者の変更はできるのですが、読み取り専用のチェックをはずそうとすると管理者の権限を求められます。何か他の方法はないでしょうか?

あと、後学のためになぜこうなるのか簡単に説明してくださると助かりますが、問題を解決する方法が特に知りたいです。
このPCははじめからwindows7が入っていました。

Aベストアンサー

No.3 の補足です。
質問には何も書いてないので、システム動作中には操作できないファイルかとも考えて、DVD(CD)起動での操作を回答しました。
普通のファイルのようですので、No.3 に書いたツールはWin7動作中のコマンドプロンプトでいいです。
(コマンドプロンプト右クリック->管理者として実行)

補足ですが「管理者としてログイン」していても、いわゆる最高レベルの管理者ではありません。
アクセス許可されないファイルもありますので「管理者として実行」でレベルを昇格して使用してください。

質問には何も書いてないのですが、エクスプローラで操作しているのですか?
エクスプローラを「管理者として実行」で実行していますか?
(スタート->アクセサリ->エクスプローラ右クリック->管理者として実行)

> 所有者の変更はしてみましたが、うまくいきません。

どのようにうまくいかないのですか。
どのファイルでも管理者に変更後にはEveryone フルコントロールを追加できるはずです。

Q「プログラムと機能」の一覧を取得したい

OSを再インストールしたいのですが
今、コンパネの「プログラムと機能」に入ってる一覧をどこかに書き出す方法はありますか?

インストールしているプログラム一覧のメモを取りたいのですが、
いい方法が思いつきません。

原始的ですが
スクショを撮ってパワポとかに貼り付けするしかないのかなー
なんて思ってます。

もっと効率のいい方法があれば教えてください。

Aベストアンサー

下記のレジストリのサブキーをsaveして(export)してリストで見るという方法もあります。
appwiz.cplを実行して表示されるuninstall可能なプログラムのすべてが取得できます。
ただしメモというよりも,内容が詳しすぎるかもしれません。
メリットは標準機能でsaveできることです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Qバッチファイル 二つ上のディレクトリのパス取得

"C:\test\sample\a.bat"を実行した時 %~dp0 で C:\test\sample\ と展開できるのですが、
この時 C:\test\ というパスを取得するにはどうすればいいでしょうか?
バッチファイルから二つ上のディレクトリのパスを取得する方法を教えていただきたいです。
よろしくお願いします。

Aベストアンサー

C:\test\ という名前が欲しいのであれば、

set A=%~dp0
set A=%A:~0,-2%
for %%A in (%A%) do set A=%%~dpA
echo %A%

アクセスするだけであれば、他の方のように .. で。

そういう意味では、下記でも良いですね。この場合は、C:\test\ でなく、C:\test が得られます。

pushd %~dp0..
set A=%CD%
popd
echo %A%

Qワイルドカードを使ってでフォルダを削除

kで始まるディレクトリを削除しようとして、コマンドプロンプトで
rmdir /s /q k*
と打つと、
「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
と言ってきます。
どうすれば、DOSコマンドで、kで始まるディレクトリをいっぺんに削除できますか。

WindowsXPです。

Aベストアンサー

こんな方法もありますよ。
for /F %a in ('dir /AD /B /W k*') do rmdir /S /Q %a

XP限定ならば関係ないですけど、これならばどのWindowsでもいけるかと・・・


人気Q&Aランキング

おすすめ情報