2016-11-07 7 views
0

ネットワーク(hosts.txt)にコンピュータ名のリストがあります。ネットワーク上の特定のユーザーのみが、PCにソフトウェアをインストールする必要があります。私はいつもログオンの詳細ではなくその名前を知っています。ワイルドカードとして変数セットを使用しているC:ユーザーのバッチループ

例:

私は、ユーザーがアダムミントの名前を持って知っていると私は彼がLAN上で使用するもののコンピュータを知りたい、私は彼のログオンを知らないが、知っている、命名規則を経由して、その彼のログ私はCを検索したいコンピュータのリストを持つなど amint2 mintyaまたはamintのようなもの

そうです:\ユーザー、彼がこれまでに記録されたものをコンピュータを見つけるためにミント*のワイルドカードを使用して〜に。そこから、私はコンピュータなどがそのユーザーのためにインストールしているソフトウェアを必要としていることを知っています。私は一緒にいくつかのコードを入れようとしたが、私は何かが欠けている。私が間違っている場所を私に見せてくれる人もいますか?うまくこれまで、感謝のヘルプを協力のおかげ

set /p search=Input search string... 

for /f "usebackq tokens=*" %%A in ("%~dp0hosts.txt") do (
if exist "\\%%A\C$\Users\*%search%*" echo "%search% string was found in users folder on %%A" 
) 

更新。私はそれをさらに強化できるかどうか疑問に思っていた。同じユーザーがPCの多くにログオンしている可能性があるので、フォルダの変更日を手動で検索して、最新のものを確認しました。通常、使用中の実際のPCを識別します。 \ %% A \ C $ \ Users *%search%* "セクションを展開して完全なパスを報告し、プロファイルフォルダの変更日をエコーするコードを追加できますか?

たとえば、 ...

"amint string was found in users folder on PCSG-098763" 
"amint string was found in users folder on PCSG-098463" 
"amint string was found in users folder on PCSG-098763" 
"amint string was found in users folder on PCSG-098793" 
"amint string was found in users folder on PCSG-098713" 
"amint string was found in users folder on PCSG-098703" 

は、実際にそれを..couldさ

"amint string was found in users folder on PCSG-098763 last used 09/11/16" 
"amint string was found in users folder on PCSG-098463 last used 09/11/15" 
"amint string was found in users folder on PCSG-098763 last used 12/02/14" 
"amint string was found in users folder on PCSG-098793 last used 01/01/14" 
"amint string was found in users folder on PCSG-098713 last used 01/11/13" 
"amint string was found in users folder on PCSG-098703 last used 15/11/12" 

+1

「&&」を削除してください...あなたの例に従って検索パターン '*%search%*'を使うべきだと思います... – aschipfl

+0

愚かなので、近くにありがとう!素晴らしい作品はとても便利です。それが他の人に使用されている場合は、元の質問を作業コードで編集しました。 :-) – Tika9o9

+2

管理共有に接続している場合は、\\ %% A \ C $ \ Users \ *%search%* ' – Squashman

答えて

0
set /p search=Input search string... 

for /f "usebackq tokens=*" %%A in ("%~dp0hosts.txt") do (if exist "\\%%A\C$\Users\*%search%*" echo "%search% string was found in users folder on %%A") 

としてはお勧め...ありがとう含まここでは、コメントの後の正解です。

関連する問題