バッチスクリプトで共有設定されているフォルダを解除するツールをつくりたいのですが、永遠に1行目の共有名しか取得できず、2行目以降の共有フォルダを解除できません。
バッチスクリプトについて、あまり理解できていないので原因調査も行き詰っております。原因わかる方いらっしゃいましたら、ご教授ください。
@echo off echo 共有フォルダチェックを行います。 rem 共有フォルダをテキストに出力 net share | find /V "$" > C:\tmp\com.txt rem 出力テキストの4文字目以降を出力 more +4 C:\tmp\com.txt > C:\tmp\comn.txt pause rem 最初の一時ファイルを削除 del C:\tmp\com.txt setlocal ENABLEDELAYEDEXPANSION rem :FOR01 for /f "delims= " %%i IN (C:\tmp\comn.txt) DO ( echo "共有名 " %%i " が存在します" SET comn=%%i set /p ANSWER="共有解除してよろしいですか(Y/N)?" if /i {!ANSWER!}=={y} (goto :yes) if /i {!ANSWER!}=={yes} (goto :yes) if /i {!ANSWER!}=={n} (goto :no) if /i {!ANSWER!}=={no} (goto :no) if !comn!=="" EXIT /B ) :no echo !comn!の共有解除を中止しました。& pause exit :yes net share !comn! /delete echo !comn! の共有が解除されました。 SET comn="" goto FOR01 echo 一時ファイルを削除します。 del C:\tmp\comn.txt

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/14 10:14
2016/11/14 10:19
2016/11/14 10:26
2016/11/14 10:33
2016/11/14 10:35
2016/11/14 10:35
2016/11/14 10:39