Plik wsadowy xxx.bat


(YakuzaPL) #1

Witam, na początku chciałbym przeprosić jeśli piszę w złym dziale.
Otóż posiadam pewien problem. Miałem o to takie zadanie: “Utwórz program wsadowy czytanie.bat który wyświetli pytanie o nazwę folderu a następnie założy folder o podanej nazwie.”
Problem leży w tym że nie wiem co zrobiłem źle.
Napisałem tak:

@echo off
set name=Nazwa folderu: 
md %name%
echo Utworzono folder o nazwie: %name%
pause

Wszystko zapisałem jako czytanie.bat i gdy uruchamiam CMD wyskakuje “‘czytanie.bat’ is not recognized as an internal or external command, operable program or batch file.”

Może ktoś mi powiedzieć czego zapomniałem dopisać ?


(krystian3w) #2

Sprawdź czy plik ma dobry typ pliku:

  • Plik wsadowy Windows (.bat) lub

  • Skrypt poleceń Windows (.cmd).

Najlepiej z właściwości pliku.


Najpewniej teraz masz plik pytanie.bat.txt. Dwuklik na nim uruchomi go w notatniku.

Jak nie to uruchamiasz CMD w złym folderze i on go nie widzi - poleceniem / poleceniami CD możesz przejść do lokalizacji z plikiem pytanie.bat.


(YakuzaPL) #3

No właśnie uruchamiam w dobrej lokalizacji, utworzyłem plik na pulpicie więc przeszedłem do niego. Tak samo z typem pliku, sprawdzałem i wszystko dobrze, moim zdaniem czegoś zapomniałem dopisać, tyle że nie pamiętam czego.


(krystian3w) #4

Ja mam coś takiego:

...\Desktop>pytanie

...\Desktop>■@
'■@' is not recognized as an internal or external command,
operable program or batch file.

Czyli plik OK, zawartość już nie.


albo takie coś jak poprawiłem kodowanie na ANSI / Windows 1250:

...\Desktop>pytanie
Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna.
Error occurred while processing: folderu:.
Utworzono folder o nazwie: Nazwa folderu:
Press any key to continue . . .

Dodatkowo jeszcze nie masz poprawnie zrobionego pytania, bo mam folder Nazwa a nie taki miał się tworzyć.


(YakuzaPL) #5

O wiem! Zapomniałem dopisać jednej ważnej rzeczy…
Powinno poprawnie wyglądać tak:

@echo off
set /p name=Nazwa folderu: 
md %name%
echo Utworzono folder o nazwie: %name%
pause

Wszystko zapisać jako pytanie czy tam czytanie.bat

Zapomniałem o tym /p


(krystian3w) #6
@echo off
set /p name=Nazwa folderu: 
md "%name%"
echo Utworzono folder o nazwie: %name%
pause

wersja by można utworzyć folder z spacją w nazwie - domyślnie nie miało tworzyć wielu folderów.