Avatar billede johnnylassen Seniormester
01. april 2016 - 11:51 Der er 6 kommentarer og
1 løsning

Batch fil

Hej...
Sidder og leger med noget der virker... Men kunne godt tænke mig det lidt anderledes, men kan ikke lige få det til at spille...
Jeg har et slot til løse diske. Jeg ønsker at jeg kan sætte en disk i og afvikle en batch fil der laver en "dir" af disken. Lægger en XX.txt fil på den aktuelle disk samt i et bibliotek på hovedcomputeren, så de er samlet der. Det er så nemt nok...
Men jeg kunne godt tænke mig at jeg blev spurgt: Hvilke drev ønskes der "dir" af?
Hvad skal xx.txt filen hedde?
En afsluttende bemærkning om at alt gik vel.
Avatar billede claes57 Ekspert
01. april 2016 - 14:36 #1
man kan lege med dir, find og |<>.
hvis du på hver drev fx placerer en (tom) fil
mitnavn.name
så kan du lave en dir *.name, finde navnet, og redirecte det til filnavnet på txt-filen.
Avatar billede johnnylassen Seniormester
01. april 2016 - 17:52 #2
Jo men det er ikke problemet... Har lavet en .bat der ser sådan ud:
f:
dir /a /b /-p /o:gen >f:\file_list.txt
copy f:\file_list.txt C:\Users\Johnny\Desktop\dir\dir.txt
start notepad f:\file_list.txt

Men ville gerne have at file_list - altså tekstfilens navn var et jeg blev prompted for. Altså et parameter efter bat filen. F.eks: disk.bat disk2  Dette skulle så gøre at bat filen eksekvere således:
f:
dir /a /b /-p /o:gen >f:\disk 2.txt
copy f:\disk 2.txt C:\Users\Johnny\Desktop\dir\dir.txt
start notepad f:\file_list.txt

At jeg starter notepad er kun for at tjekke indholdet når den er kørt og gemt.
Avatar billede johnnylassen Seniormester
01. april 2016 - 18:00 #3
Ups...
I linen copy f:\file_list.txt C:\Users\Johnny\Desktop\dir\dir.txt
hedder filen "dir.txt" når den er kopiret. Den skal selvfølgelig hedde det samme som paramtret efter batfilen der afvikles.
Avatar billede claes57 Ekspert
01. april 2016 - 18:05 #4
da jeg i sin tid rodede med DOS så brugte jeg
http://www.pc-tools.net/dos/dosutils/
og der er en ASK utility.
Den vil nok stadig virke - men ellers så gå via noget vbs-kode.
Avatar billede RogerWilco Seniormester
16. april 2016 - 12:29 #5
Prøv dette for at angive drev+navn som parametre (f.eks. "disk f: disk2.txt"):

@echo off
%1
dir /a /b /-p /o:gen >%1\%2
copy %1\%2 C:\Users\Johnny\Desktop\dir\%2
start notepad %1\%2


Hvis batch-filen skal spørge om drev og navn:

@echo off
set /p drev=Indtast drev (inkl. kolon):
set /p navn=Indtast filnavn:
%drev%
dir /a /b /-p /o:gen >%drev%\%navn%
copy %drev%\%navn% C:\Users\Johnny\Desktop\dir\%navn%
start notepad %drev%\%navn%


Hvis der skal være mulighed for mellemrum i filnavn, skal der lige tilføjes nogle anførselstegn.
Avatar billede johnnylassen Seniormester
16. april 2016 - 13:52 #6
RogerWilco>  Den var lige i skabet og det jeg manglede, så smid lige et svar til point.
Mvh Johnny
Avatar billede RogerWilco Seniormester
17. april 2016 - 16:18 #7
(c:
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester