Hoe kan ik zien of een bestand daadwerkeliujk op de C:\ schijf staat?

Status
Niet open voor verdere reacties.

Tijger81

Gebruiker
Lid geworden
2 jan 2010
Berichten
397
Hallo.
Ik heb een vraag. Ik wil graag een soort zoekactie batch maken die aan mij dmv een txt document laat zien of ergens op een C schijf een map staat.
Het onderstaande heb ik nu en werkt, alleen de regel c:\book\opdracht verandert bij ons regelmatig, omdat ik andere map zoek bijvoorbeeld.
Ik wil deze lokatie "H:\temp\zoekinhoud\wat er gezocht moet worden" in de batch verwerken, waardoor de batch eerst gaat kijken op de H schijf welke map of bestand er gezocht moet worden en dan deze ook daadwerkelijk gaat zoeken op de C:\book (dit pad blijft hetzelfde).

Wie kan mij helpen?

@echo off

for /F %%i in ('dir /b "c:\book\opdracht"') do (
md C:\Windows\ScriptsABT
Copy nul C:\Windows\Script\Opdracht_aanwezig_%computername%.txt
Copy C:\Windows\Script\Opdracht_aanwezig_%computername%.txt H:\TEMP\Controles
exit /B

goto :EOF
)

md C:\Windows\ScriptsABT
Copy nul C:\Windows\Script\Opdracht_niet_aanwezig_%computername%.txt
Copy C:\Windows\Script\Opdracht_niet_aanwezig_%computername%.txt H:\TEMP\Controles
exit /B
 
Dan hoef ik namelijk niet de batch te veranderen als ik een andere map of bestand zoek.
 
Dus eerst moet de batch checken in 'H:\temp\desbetreffende map' welke map er gezocht moet worden en dan deze map gaan zoeken op de c: schijf. Als de map bestaat dan wordt er een txt aangemaakt met als naam 'aanwezig' anders 'afwezig'. Dit ter verduidelijking, want krijg geen reacties
 
Ik kom zelf al in de buurt, maar het werkt nog niet. *.* moet eigenlijk gezocht worden in de map C:\book, maar dat gebeurt niet.
Het woordje "in" kan niet, maar ik bedoel het wel op die manier.
Ik krijg nu telkens map_aanwezig_c756.txt terwijl de map helemaal "test" leeg is.

@echo off

IF exist "H:\TEMP\test\*.*" in "c:\book\" goto exist
IF Not exist "H:\TEMP\test\*.*" in "c:\book\" goto not exist

:Exist
md C:\Windows\Scripts
Copy nul C:\Windows\Scripts\Map_Aanwezig_%computername%.txt
Copy C:\Windows\Scripts\Map_Aanwezig_%computername%.txt H:\TEMP\Controles\Zoekactie
exit /B

:not exist
md C:\Windows\ScriptsABT
Copy nul C:\Windows\Scripts\Map_Niet_Aanwezig_%computername%.txt
Copy C:\Windows\Scripts\Map_Niet_Aanwezig_%computername%.txt H:\TEMP\Controles\Zoekactie
exit /B
 
Ik heb n.a.v. je mail even gekeken maar het is me totaal onduidelijk wat je nu eigenlijk wilt.
Dat zal niet alleen voor mij gelden aangezien er totaal geen reacties zijn.
 
Sorry voor de onduidelijkheid, maar ik wil een batch maken die ik niet meer hoef aan te passen. In de map "H:\temp\bron_zoekactie" plaats ik bijv zelf de map 'oefening'. De batch moet eerst kjjken in de map bron_zoekactie welke map er gezocht moet worden. Dat is dus de map oefening. Vervolgens gaat de batch kijken of deze map met de naam oefening in C:\book\ aanwezig is. Gewoon kijken naar de naam is al genoeg.
Als ik daarna een keer niet de map oefening op aanwezigheid wil controleren in c:\book\, maar bijv de map 'opdracht'. Dan wil ik alleen in bron_zoekactie map alleen de map opdracht hoeven te zetten, zonder dat ik de batch moet aanpassen.
 
Dus dan moet je, als je niks aan wilt passen, het altijd gelden voor de hele C-schijf?
Tenzij je daarin via een input de naam van een specifieke map in gaat vullen, dus dan moet je daar alleen om gaan vragen.
Kijk eens of je hierdoor geïnspireerd raakt, het exacte antwoord weet ik niet, het is lang geleden dat ik zulke scripts schreef.....
http://www.robvanderwoude.com/battech.php
 
Dus dan moet je, als je niks aan wilt passen, het altijd gelden voor de hele C-schijf?
Tenzij je daarin via een input de naam van een specifieke map in gaat vullen, dus dan moet je daar alleen om gaan vragen.
Kijk eens of je hierdoor geïnspireerd raakt, het exacte antwoord weet ik niet, het is lang geleden dat ik zulke scripts schreef.....
http://www.robvanderwoude.com/battech.php
 
Ik heb al op de site van Robvanderwoude gekeken, alleen kan het daar niet vinden.
Ik kan vanuit mijn computer batch bestanden op andere computers starten. Ik plaats dan een batch op de H schijf en die wordt dan uitgevoerd op al die computers, omdat ze allemaal aan dat netwerk zitten (H). Ik wil dus eigenlijk in 1 keer controleren of in de map "C:\book" op die computers een map aanwezig is, bijv de map "Oefening". Het resultaat van de zoekopdracht zie ik dan in H:\TEMP\Controles\Zoekactie
Hieronder staat wat ik nu heb:


@echo off

IF exist "H:\TEMP\Bron_zoekactie\*.*" in "c:\book\" goto exist (ik probeer dus te krijgen dat *.* wordt gezocht in C:\book.) *.* heb ik gedaan, omdat de inhoud van de map Bron_zoekactie kan verschillen, omdat ik daar bijvoorbeeld een keer een andere map als Oefening in kan plaatsen. Maar dat de batch die nieuwe map in C:\book ook gewoon gaat zoeken.
IF Not exist "H:\TEMP\Bron_zoekactie\*.*" in "c:\book\" goto not exist

:Exist
md C:\Windows\Scripts
Copy nul C:\Windows\Scripts\Map_Aanwezig_%computername%.txt
Copy C:\Windows\Scripts\Map_Aanwezig_%computername%.txt H:\TEMP\Controles\Zoekactie
exit /B

:not exist
md C:\Windows\ScriptsABT
Copy nul C:\Windows\Scripts\Map_Niet_Aanwezig_%computername%.txt
Copy C:\Windows\Scripts\Map_Niet_Aanwezig_%computername%.txt H:\TEMP\Controles\Zoekactie
exit /B
 
Hallo allemaal,
Ik heb de methode maar overboord gegooid, want het wordt niks. Het kan gewoon niet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan