script för att kontrollera mappinnehåll?

Trädvy Permalänk
Medlem
Registrerad
Mar 2013

script för att kontrollera mappinnehåll?

Hej.

Jag jobbar på ett företag som har ett gäng kunder med mappstrukturer där varje kunds mappstruktur har en mapp som heter ”error” dit bilder som av olika anledningar inte kunnat behandlas av vår programvara hamnar.

Jag undrar om man skulle kunna göra något script som kan söka igenom dessa error-mappar för att se om det finns filer i dem. (En bild som åtgärdats flyttas till en mapp kallad ”åtgärdade” som finns i error-mappen) så om allt är som det ska alltså error-mappen vara helt tom förutom åtgärdade-mappen

Exempel på mappstrukturen: <server_sökväg>\kundnamn\error\åtgärdade

Optimalt vore om man bara klickade igång scriptet som söker igenom mapparna och visar tex:

Resultat:
Kund1 1
Kund2 0
Kund3 0
Kund4 1
Kund5 0
Kund6 0

Till exempel ge en 1:a om det finns någon fil (förutom åtgärdade-mappen) i error-mappen och en 0:a om det inte gör det.
Hårdkoda mappsökvägarna skulle inte vara något problem, det skulle ju ändå bara bli en engångsgrej.

Någon som till skillnad mot mig är bra på sådant här som vet om detta är görbart relativ enkelt och om i såfall kan dela med sig av en exempelkod?

Trädvy Permalänk
Medlem
Registrerad
Apr 2011

http://serverfault.com/questions/110725/windows-command-promp...

@echo off
setlocal enableextensions
set count=0
for %%x in (*) do set /a count+=1
echo %count%
endlocal

Trädvy Permalänk
Medlem
Registrerad
Mar 2013
Skrivet av exodeus:

http://serverfault.com/questions/110725/windows-command-promp...

@echo off
setlocal enableextensions
set count=0
for %%x in (*) do set /a count+=1
echo %count%
endlocal

Min hjälte, tack så mycket!

Trädvy Permalänk
Medlem
Registrerad
Mar 2013

ok, har stött på ett problem.
Jag kan som sagt knappt nått alls om detta, men jag har med hjälp av exodeus länk ovan knåpat ihop följande:

@echo off
title Error Counter.
:recurse
set I=0

echo KUNDNAMN
FOR /f "tokens=*" %%P IN ('dir /A-d /b <server_path>kundnamn\error') do (call :showfiles "%%P")

echo * Totalt antal error filer: %I%

PAUSE

:showfiles
echo %1
set /a I+=1
goto :eof

och det funkar perfekt, MEN när jag kom till en kund som hade ett Ö i namnet så tog det stopp och jag fick
"The system cannot find the file specified"'

Som sagt är jag mega noob på detta men jag antar att det är delen: /A-d /b som behöver ändras lite för att kunna hantera ÅÄÖ ?

Trädvy Permalänk
Medlem
Registrerad
Apr 2011
Skrivet av tompa.a:

och det funkar perfekt, MEN när jag kom till en kund som hade ett Ö i namnet så tog det stopp och jag fick
"The system cannot find the file specified"'

Fungerar det att använda kommandotolken för att komma åt (cd/dir) katalogerna med ÅÄÖ?

testa att köra :
echo chcp
i början av filen för att se villken den kör med.

testa sedan att skriva:
chcp
i cmd (kommandotolken)

Är de olika? Om de är olika, så skriv "chcp 850" (det nummret som stod från kommandotolken) i början av batchfilen.

http://stackoverflow.com/questions/2660264/making-swedish-cha...

Trädvy Permalänk
Medlem
Registrerad
Mar 2013

fick inte till det ändå, men med en arbetskamrats hjälp så fick vi det att fungera genom att använda WordPad och spara koden som "Text Document - MS-DOS Format", så problemet är löst.

Men tack som attan för hjälpen och nerlagt tid!

Trädvy Permalänk
Medlem
Registrerad
Apr 2011
Skrivet av tompa.a:

Men tack som attan för hjälpen och nerlagt tid!

You're Welcome