Skapa en fil, lista.bat
dir %1 /D > %2
Sen kör du den med: lista sökväg filnamn
Ex: lista c:\inetpub\wwwroot websajter.txt
12 svar · 730 visningar · startad av Calippo
Jag vet att detta program finns, men jag hittar det inte....
Vill ha så att när man högerklickar på en mapp i utforskaren så ska man kunna spara strukturen till en txt fil, även svenska tecken ska fungera.
Det räcker med mappnamnen, inte alla filer. Men om man kan välja vilket man vill ha så är ju det ett plus.
Gratis ska det vara med ;)
Det enda jag hittar är en bat fil på MS hemsida... men det är ju inte direkt samma sak. Den klarar för övrigt inte svenska tecken.
printdir.bat
@echo off
dir %1 /-p /o:gn > "%temp%\Listing"
start /w notepad "%temp%\Listing"
rem start /w notepad /p "%temp%\Listing"
del "%temp%\Listing"
exit
Skapa en fil, lista.bat
dir %1 /D > %2
Sen kör du den med: lista sökväg filnamn
Ex: lista c:\inetpub\wwwroot websajter.txt
Nu fattade jag nada. Kan inte det där med bat filer så bra.
Jag skapade en batfil som jag döpte till lista.bat.
Den innehåller koden "dir %1 /D > %2".
Sen då?
Vad menar du med:
"Sen kör du den med: lista sökväg filnamn
Ex: lista c:\inetpub\wwwroot websajter.txt"
i dos-prompten skriver du
lista c:\inetpub\wwwroot websajter.txt
Tänk på att lista.bat antingen ska ligga i katalogen du står i eller ligga i en katalog som finns med i PATH-variabeln
Nu kan du köra din bat-fil. sökvägen blir %1, filnamnet blir %2.
Skriver du t.ex.
lista c:\windows dataspel.txt
då kommer du få en fil som heter dataspel.txt och innehåller en lista över mapparna i windows-mappen.
du kör lista.bat så här i kommandoprompten:
lista c:\inetpub\wwwroot minTextfil.txt
där sökvägen är den mappen du vill skriv till din textfil... och "minTextfil.txt" är namnet på den textfil du vill skapa!
Om jag förstått det rätt :)
EDIT: OMG! Jag var inte ens nästan först! :e
Tackar för tipsen, men jag måste tyvärr säga att det skriptet var totalt värdelöst, sorry...
- Mapparna listas inte under varandra, utan tabb separerade eller nåt...
- Klarar inte å, ä och ö
även svenska tecken ska fungera.
dir %1 /AD > %2
Ska det vara, då får du en lista på höjden istället, och jag får med svenska tecken när jag kör det.
Använd kommandot tree, (Med växeln /a) så har du en sak avklarad. Vad gäller svenska tecken blir det svårare, d måste du ha något program som konverterar tecknen för dig.
Nästa problem är att den inte listar undermappar till mapparna.
inetpub
--- wwwroot
--- --- testsida1
--- --- --- images
--- --- testsida2
--- --- --- images
osv...
Så här ser det ut i min txt fil:
Volymen i enhet C har ingen etikett.
Volymens serienummer „r 2868-D6EA
Inneh†ll i katalogen c:\inetpub
2007-11-02 09:58 <KAT> .
2007-11-02 09:58 <KAT> ..
2007-11-02 10:05 <KAT> AdminScripts
2007-11-02 09:58 <KAT> iissamples
2007-11-02 09:58 <KAT> mailroot
2007-11-02 09:58 <KAT> Scripts
2007-11-07 08:09 <KAT> wwwroot
0 fil(er) 0 byte
7 katalog(er) 8ÿ029ÿ069ÿ312 byte ledigt
???
8ÿ029ÿ069ÿ312 byte ledigt
Ett sådant script i vbscript är inte speciellt svårt att skriva, plus att det hanterar svenska tecken korrekt. Har inte tid att svänga ihop nåt sånt nu dock. Senare kke. :)
' Settings
Const tabseparator = "| " ' Replace with " " or "--" if you wish
Const dirprefix = "\"
Dim fs, thepath, conts
Set fs = CreateObject("Scripting.FileSystemObject")
on error resume next
For each part in WScript.Arguments
thepath = thepath & " " & part
Next
on error goto 0
thepath = ltrim(thepath)
if err.number then
conts = ListFolderContents(".", "")
wscript.echo conts
else
conts = ListFolderContents(thepath, "")
wscript.echo conts
end if
'wscript.echo WScript.Arguments(0)
Set fs = Nothing
Function ListFolderContents(path, tablevel)
Dim retval
retval = ""
set folder = fs.GetFolder(path)
if tablevel = "" then
retval = folder.path & chr(13) & chr(10)
else
retval = retval & tablevel & dirprefix & folder.name & chr(13) & chr(10)
end if
For each item in folder.Files
retval = retval & tablevel & tabseparator & item.name & chr(13) & chr(10)
Next
For each item in folder.SubFolders
retval = retval & ListFolderContents(item.Path, tablevel & tabseparator)
Next
set folder = Nothing
ListFolderContents = retval
End Function
Tar en katalog som inparameter. Skriver dock inte till n ågon fil, där får någon annan ta över facklan. Huuu, vilket äckligt språk VBScript är ändå.