sqido Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 Mam takie pytnie, czy można napisać taki plik wsadowy który po uruchomieniu bedzie prosil nas o podanie np nazwy pliku ktory ma skasowac a nastepnie kasowal ten plik ? Jeśli jest to możliwe to prosiłbym o jakąś podpowiedź. Pozdrawiam ! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Cooli Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 www.google.pl ?? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sqido Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 uwierz mi, że przekopałem google zanim tu napisałem i ciagle szukam ale nie moge znalesc odpowiedzi na moje pytanie nie oczekuję także gotowego zestawienia komęd chciałbym tylko aby ktos odrobinę mnie nakierował w jaki sposób można to zrobic... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 (edytowane) 1. Dlaczego ma się pytać? 2. Dlaczego wsadowy? 3. Wiesz, że potrzebna będzie pełna ścieżka? 4. Dane do pliku wsadowego można przekazywać przez parametry. 5. Pooglądaj plik Autoexec.bat na dyskietce startowej Windows 98/awaryjnej Windows XP. 6. Najlepiej powiedz, co dokładnie chcesz zrobić i do czego konkretnie chcesz używać tego programu? Czy DEL C:\WINDOWS\WIN.COM to dla Ciebie za mało? Edit: Rzuciłem okiem do Sieci i na dysk. Znalazłem to: http://www.em.soft.webpark.pl/kod.htm http://www.isep.pw.edu.pl/~iwanowsm/dyda.html Oraz to: @echo offc:cd\cd toolsclsif "%1" == "/?" goto infoif "%1" == "" goto infoecho W tym momencie szukam pliku lub katalogu %1 na dysku %2.echo Jeľeli plik lub katalog istnieje, cieľka do niego pojawiecho si© poniľejdir %2:\%1 /s /b >temp.batif exist temp.bat goto jestecho Nie znalazlem pliku lub katalogu %1goto end:jestecho Plik lub katalog %1 znajduje si© w poniľszej cieľce:type temp.batecho.pausecd\goto end:infoecho.echo Program szuka pliki i katalogi i pokazuje cieľk© do nich.echo.echo Uľyj:echo ff [nazwapliku_lub_katalogu] [dysk]echo.echo np. FF turbo.exe Cpause>nulgoto exit:enddel c:\tools\temp.batcd\:exitclsLiterki się wykrzaczyły, bo to strona kodowa 852 (dos). Zapisz ten kod jako plik ff.bat i uruchom a zobaczysz, do czego to służy.. BTW: Nie znalazłem możliwości wpisywania nazw plików działającemu programowi wsadowemu. Jedyne, co działa to CHOICE.COM, czyli opcje wybierania.. Edytowane 26 Października 2005 przez ULLISSES Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sqido Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 mam takie zadanie aby napisać plik wsadowy ktory bedzie mial takie menu 1 wyszukiwanie pliku 2 kasowanie pliku 3 4 5 wyjscie no i nie wiem jak zrobic aby po wcisnieciu klawisza mozna bylo wprowadzic tekst narazie zrobiłem sam szkielet ;/ :START@echo offclsecho 1 Wyszukiwanie plikuecho 2 Skasowanie plikuecho 3 Operacje systemoweecho 4 cos tamecho 5 wyjscieecho.choice /c:12345 Wybierz jedna opcje z menu.if errorlevel 5 goto endif errorlevel 4 goto dyskif errorlevel 3 goto systemoweif errorlevel 2 goto deleteif errorlevel 1 goto znajdzgoto end:znajdzecho znajdzpausegoto start:deleteecho kasowanie plikupausegoto start:systemowe echo 1. wersja systemu echo 2. czas echo 3. data echo 4. powrot do menu:) choice /c:1234 Wybierz cos. if errorlevel 4 goto start if errorlevel 3 goto data if errorlevel 2 goto czas if errorlevel 1 goto vsystemu goto end :vsystemu ver pause goto systemowe :czas time goto systemowe :data date >nul goto systemowe goto start:dyskpausegoto start:endecho KONIEC ! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 (edytowane) No więc tak, jak napisałem w edycji posta wyżej - nie słyszałem o możliwości wpisywania tekstu do działającego "programu" BAT. Wszystko inne jest do zrobienia. Swego czasu bawiłem się tym i to wyżej, to jedno z moich dzieł (prawdopodobnie zapożyczone) - wyszukuje pliki. Ktoś, kto zadał Ci takie zadanie, to albo: a) wie więcej o BAT niż ja b) wie mniej o BAT niż ja (i wtedy nie wie, iż AFAIK nie da się tego zrobić - wpisywać tekstu) Edytowane 26 Października 2005 przez ULLISSES Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sqido Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 ok, thx za to przejrze to i napewno mi się przyda jak zrobic aby wyświetliło mi czas ale bez możliwości jego zmiany na win xp wystarczy time /t a na 98 można to jakoś zrobić ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 26 Października 2005 Zgłoś Opublikowano 26 Października 2005 Nie ma na to prostej odpowiedzi, ale mozna to zrobic w troche inny sposob: http://www.robvanderwoude.com/userinput.html Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sqido Opublikowano 28 Października 2005 Zgłoś Opublikowano 28 Października 2005 napisalem tego bata pod win98 wrzucajac tylko choica do systemu wyglada to tak :) rem@echo off:STARTcd\clsecho.echo -----------------------------echo 1 Wyszukiwanie plikuecho 2 Skasowanie plikuecho 3 Operacje systemowe echo 4 Dyski wirtualne echo -----------------------------echo 5 Wyjscieecho -----------------------------echo.choice /c:12345 /n Wybierz jedna opcje z menu.if errorlevel 5 goto endif errorlevel 4 goto DYSKif errorlevel 3 goto SYSTEMOWEif errorlevel 2 goto DELETEif errorlevel 1 goto ZNAJDZgoto endrem @@@@@@ znajdz @@@@@@:ZNAJDZcls@echo offecho.echo Podaj nazw© szukanego plikuecho.set/p znajdz=echo.echo -Wynik wyszukiwania:-echo ---------------------echo.dir/s/p/b %znajdz%echo.echo ---------------------pausegoto startrem @@@@@@ delete @@@@@@:DELETEclsecho.echo Podaj scieżkę do kasowanego pliku.echo.set/p name=echo .del %name%goto startrem @@@@@@ systemowe @@@@@@ :SYSTEMOWE cls echo. echo --------------------- echo 1 Czas echo 2 Data echo 3 Wersja systemu echo --------------------- echo 4 Cofnij echo. choice /c:1234 /n Wybierz jedna opcje z menu. if errorlevel 4 goto START if errorlevel 3 goto wsystemu if errorlevel 2 goto data if errorlevel 1 goto czas :czas cls echo. time /t echo. echo --------------------- pause goto SYSTEMOWE :data cls echo. date /t echo. echo --------------------- pause goto SYSTEMOWE :wsystemu cls echo. ver echo. echo --------------------- pause goto SYSTEMOWErem @@@@@@ dysk @@@@@@ :DYSK cls echo. echo --------------------- echo 1 Zaloz dysk wirtualny echo 2 Usun dysk wirtualny echo --------------------- echo 3 Cofnij echo. choice /c:123 /n Wybierz jedna opcje z menu. if errorlevel 3 goto START if errorlevel 2 goto ddysk if errorlevel 1 goto mdysk :mdysk cls echo Podaj litere nowo tworzonego dysku wirtualnego. set/p litera= echo Podaj sciezke do folderu set/p sciezka= subst %litera% %sciezka% goto DYSK :ddysk cls echo Podaj litere dysku wirtualnego ktory chcesz usunac set/p litera= subst %litera% /d goto DYSK:enddzieki wszystkim za pomoc pozdrawiam ! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makabda Opublikowano 31 Października 2005 Zgłoś Opublikowano 31 Października 2005 (edytowane) napisalem tego bata pod win98 wrzucajac tylko choica do systemu wyglada to tak :) set/p znajdz= Pod win98 polecenie set nie posiada parametru p. Tak wygląda próba jego zastosowania: Programik rem startset/p name=echo %name%rem stopoddaje taki oto efektMicrosoft(R) Windows 98 (C)Copyright Microsoft Corp 1981-1999.C:\>robotC:\>rem startC:\>set/p name=C:\>echoECHO jest w stanie włC:\>rem stopC:\>C:\>C:\>Nie ma żadnej przerwy na wpisanie czegokolwiek. Zatem jakiego systemu właściwie użyłeś? Ja np. używam nakładki 4DOS 7.50 (obecnie freeware) ale choć w niej set posiada parametr p, to oznacza on tylko stronicowanie wyników polecenia przy przekroczeniu długości strony. W związku z tym użytkownikom Win98 proponowałbym albo zamontowanie nakładki takiej jak 4DOS, której polecenia (ale nie set) rzeczywiście pozwalają na skonstruowanie pliku wsadowego zdolnego wykonać takie zadanie @select del (*.*)albo ściągnięcie starej bety Volkov Commander, bezpłatnej i w dodatku spolszczonej i używanie jej jako nakładki na system. Zajmuje ona zaledwie 45 kb. Edytowane 3 Listopada 2005 przez makabda Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sqido Opublikowano 2 Listopada 2005 Zgłoś Opublikowano 2 Listopada 2005 pomyliłem się oczywiście plik choice dodałem do win xp i zadanie zrobłem właśnie pod xp aczkolwiek będę jeszcze próbował zrobić je pod win98 bo właśnie pod tym systemem zrobiony plik muszę oddać w szkole Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makabda Opublikowano 3 Listopada 2005 Zgłoś Opublikowano 3 Listopada 2005 (edytowane) pomyliłem się oczywiście plik choice dodałem do win xp i zadanie zrobłem właśnie pod xp aczkolwiek będę jeszcze próbował zrobić je pod win98 bo właśnie pod tym systemem zrobiony plik muszę oddać w szkole 1733089[/snapback] Po ponownym przeanalizowaniu warunków zadania (dotyczy systemu win98) stwierdziłem, że daje ono dużo większe możliwości niż wynikałyby one z plików wsadowych w DOS. Wszak system to wszystkie pliki, jakie znajdują się po zainstalowaniu Windows i wgraniu poprawek. Częścią systemu są także takie programy jak np. cscript.exe, w którym można uruchomić po prostu skrypty. Częścią systemu jest także polecenie start za pomocą którego uruchamia się polecenie Windows. W takim ujęciu najprostszy program wsadowy tego typu miałby taką postać: @start explorer.exe No a dalej... sam wiesz :D Pytanie więc brzmi: czy warunki zadania obejmują cały system windows, czy też dotyczą wyłącznie tego co jest dostępne po uruchomieniu w trybie "Tylko wiersz poleceń"? Ale nawet wtedy istnieja pewne możliwości manewru. Oto stosowny fragment kodu: echo set tempu$$= > tempu$$.batedit tempu$$.batcall tempu$$.batdel tempu$$.batNazwa tempu$$.bat jest po prostu dowolną nazwą pliku tymczasowego, w który jest wpisywana nazwa pliku do dalszej obróbki za pomocą edit. Korzystając z edit można też podejrzeć wybrany plik, nawet binarnie, zanim podejmiemy decyzję. Jest to pewien ekwiwalent polecenia set/p tempu$$= z WinXP. W tym przykładzie jest niestety tworzony jest plik tymczasowy... Dlatego też, jeżeli program miałby być uruchamiany z dyskietki, potrzebny byłby także wcześniej utworzony dysk wirtualny. Ale zdaje się, że taka konstrukcja jest uwzględniona podczas tworzenia dyskietki ratunkowej. Trzeba tylko ją odpowiednio zmodyfikować. Edytowane 3 Listopada 2005 przez makabda Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...