search directory on remote pc and output if file is found

Hey Experts.  I am searching a directory on a remote pc for a file and output whether the file was found.

Here is what I am using (it's a bad mod from what an EE expert suggested for another project):
set ocxlist=\mscomctl.ocx
dir "\\%computer%\c$\windows\system32" | findstr "%ocxlist%">> %logfile%
echo. >> %logfile%

Open in new window


Please assist.  Thanks!
LVL 9
samiam41Asked:
Who is Participating?
 
oBdAConnect With a Mentor Commented:
Oh, sorry, that was the "pretty much" part: you need to remove the backslash at the beginning of the file names.
set ocxlist=mscomctl.ocx
dir \\%computer%\c$\windows\system32 | findstr "%ocxlist%">> %logfile%

Open in new window

0
 
NVITCommented:
what is your question?
0
 
oBdACommented:
So you know the folder already? Then it's basically just a matter of
if exist "\\%computer%\c$\windows\system32\mscomctl.ocx" (
	>>"%LogFile%" echo 'mscomctl.ocx' found on %Computer%
) else (
	>>"%LogFile%" echo 'mscomctl.ocx' not found on %Computer%
)

Open in new window

But since probably want this more flexible, here's a version that supports a space separated list of files:
@echo off
setlocal
set OcxList=mscomctl.ocx
set Folder=C$\Windows\system32
set /p "Computer=Please enter computer name: "
if "%Computer%" EQU "" (
  echo No computer name entered, ending.
  exit /b
)
set logfile=\\__\public\FG_Diagnostic\%computer%.log
for %%a in (\%OcxList%) do (
      if exist "\\%computer%\%Folder%\%%~a" (
            >>"%LogFile%" echo '%%~a' found on %Computer%
      ) else (
            >>"%LogFile%" echo '%%~a' not found on %Computer%
      )
)
0
Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

 
samiam41Author Commented:
I am searching a directory on a remote pc for a file and output whether the file was found but it isn't working.  

I need to check a dir on the remote pc for several files and list them if they are there.

How?
0
 
oBdACommented:
Are they all in the system32 folder, and do you need additional action if all files were found and/or if some were missing? And here's my script from above again, this time with the missing code tags:
@echo off
 setlocal
 set OcxList=mscomctl.ocx
 set Folder=C$\Windows\system32
 set /p "Computer=Please enter computer name: "
 if "%Computer%" EQU "" (
   echo No computer name entered, ending.
   exit /b
 )
 set logfile=\\__\public\FG_Diagnostic\%computer%.log
 for %%a in (\%OcxList%) do (
       if exist "\\%computer%\%Folder%\%%~a" (
             >>"%LogFile%" echo '%%~a' found on %Computer%
       ) else (
             >>"%LogFile%" echo '%%~a' not found on %Computer%
       )
 )

Open in new window

0
 
samiam41Author Commented:
Perfect oBdA.  Can that script be modified to do something similar to the reg query?  That portion of the script looks like this:

set dlllist=\comdlg32.ocx \mscomctl.ocx
reg query "\\%computer%\hklm\software\microsoft\windows\currentversion\shareddlls" | findstr "%dlllist%">> %logfile%

Open in new window


Can the script check the c$\windows\system32 for the files listed in Ocxlist in a similar method rather than the do/else?

I just need the files to be listed in the log file.  That's it.

Thanks oBdA
0
 
oBdACommented:
It could be with pretty much the syntax you posted in your question, but that will only list the files that were found. Files not found will not be listed.
0
 
samiam41Author Commented:
That's fine but I can't get the syntax to work.  This is what I'm using:

set ocxlist= \mscomctl.ocx
dir \\%computer%\c$\windows\system32 | findstr "%ocxlist%">> %logfile%

Open in new window


That doesn't return the file even though it is there. I see it in Windows Explorer so I should see it in the log file.
0
 
samiam41Author Commented:
Thanks oBdA!
0
All Courses

From novice to tech pro — start learning today.