Skrypt tworzący plik i listę plików

Witam mam taką prośbę otóż chodzi mi o jakieś wasze wskazówki otóż

chciałbym napisać skrypt który tworzy plik z listą plików znajdujących sie w katalogu z którego został uruchomiony ten skrypt. Plik ten ma mieć nazwę podaną przez użytkownika skryptu z linii poleceń. Ponadto ta lista ma być uporządkowana w odwrotnej kolejności do alfabetycznej. 1)w przypadku nie podania argumentu wyswietla komunikat (podaj argument lub wpisz (nazwa skryptu)/?") 2)w przypadku (nazwa skryptu/?") zostaje wyswietlona krótka pomoc

doradzicie mi coś?

Skrypt, nie program? A jaki system operacyjny? Od tego zacznij :slight_smile:

system windows xp ponoć to się da w cmd napisać…

Plik files.cmd:

@echo off

if "%1"=="" goto help

if "%1"=="-"

dir /B /O-N "%cd%"

if NOT "%1"=="-"

dir /B /O-N "%cd%" > %1

goto :eof

:help

echo.

echo Syntax:

echo files.cmd ^

echo.

Jeśli parametrem będzie minus - wynik poleci na ekran a nie do pliku.

jeżeli miało by to listować tylko pliki, to warto było by do dir dodać jeszcze przełącznik /A-D

hmm jeśli bym chciał zastosować to co napisał Airborn to bedzie teraz to wyglądać tak:

?

@echo off

if "%1"=="" goto help

if "%1"=="-"

dir /A-D /B /O-N "%cd%"

if NOT "%1"=="-"

dir /A-D /B /O-N "%cd%" > %1

goto :eof

:help

echo.

echo Syntax:

echo files.cmd ^

echo.

raczej w ten sposób :wink:

dodam jeszcze że to ma na dysku tworzyć folder i plik tekstowy w tym folderze Ryan bo jak naciskam files.cmd to mi ten ekran szybko znika to w końcu dobrze działa czy żle?

Dodam jeszcze, że żaden skrypt ani program nie wykona czegoś, co nie wie, że ma wykonać. Dodam też, że aby uruchomić konsolę na stałe wystarczy ją uruchomić ręcznie - windows+r, cmd, [enter].

z ogromna pomocą Airborn otrzymaliśmy coś takiego tzn on otrzymał

problematyczna jest przedostatnia linijka… jak z poziomu bat’a wywołać bat’a z parametrem?

Matko, co wyście z tym zrobili… Co to ma niby być?

set /P parametr=Podaj nazwe pliku 

%0 %parametr%

Ryan z tego co ty podałeś w 1 odpowiedzi to jak wpisuje w cmd c:\files.cmd plik.txt to wyskakuje składnia polecenia jest niepoprawna.

na pewno musi być ten element:

dir /A-D /B /O-N “%cd%” > %1

dzieki niemu tworzy się plik.txt z listą plików w odwrotnej kolejności…

To znaczy, że nie istnieje plik “files.cmd” na c - proste. Spróbuj użyć z minusem, usunąć echo off z początku pliku - kombinuj. Przy tak zdawkowych informacjach jakie podajesz ciężko zgadnąć co się dzieje nie tak.

plik jest na c

zmieniłem na:

@echo off

if “%1”=="+" goto help

if “%1”=="+"

dir /A-D /B /O-N “%cd%”

if NOT “%1”=="-"

dir /A-D /B /O-N “%cd%” > %1

goto :eof

:help

echo.

echo Syntax:

echo files.cmd ^

echo.

usuwałem 1 linijke i tez dalej to samo składnia polecenia nie jest poprawna

Powtórzę się: nie jestem wróżką. Wywal echo off.

wywalaliłem @echo off

fajnie. a teraz pokaż co wypluwa skrypt

@echo off

C:\>if “plik.txt” == “-” goto help

składnia polecenia jest niepoprawna.

C:\>if “plik.txt”=="-"

C:\>