[batch] zmiana nazwy pliku


(ca7ly@hotmail.com) #1

Witam!

Nurtuje mnie jedno pytanie... mianowicie, czy jest możliwość napisania polecenia, które automatycznie wychwyci powiedzmy nazwę folderu ze ścieżki i zmieni nazwę jakiegoś dowolnego pliku na taką samą jaką posiada powiedzmy katalog w danej ścieżce?

Powiedzmy mamy plik

name.rar

który znajduje się w:

f:\xxx\jakis_folder\inne\name.rar

i teraz chcemy, aby plik zmienił nazwę na jakis_folder.rar

Mam nadzieję, że załapaliście o co mi chodzi.

Pozdrawiam!


([alex]) #2

Owszem da się ale na pewno nie jednym poleceniem.

No chyba że chodzi ci o:

ren f:\xxx\jakis_folder\inne\name.rar jakis_folder.rar


(ca7ly@hotmail.com) #3

Skoro nie jednym poleceniem to możesz dać link do jakiegoś poradnika opisującego potrzebne polecenia? Nie mogę z tym wygrać, poczytałem w Googlach, niestety nie znalazłem niczego przydatnego. Może używam złych słów kluczowych... Na pewno znajdzie się ktoś kto ma o tym pojęcie.


([alex]) #4

W wierszu poleceń napisz help.

dla każdego z tych poleceń które się wyświetlą możesz dać polecenie /?

np:

for /?

set /?

i poczytać sobie.

Albo bardziej dokładnie wyjaśnić na forum o co ci chodzi.


(Tomek Matz) #5

Ja nie złapałem. No ok masz plik name.rar w folderze inne , który znajduje się w folderze jakis_folder , który znajduje się w folderze xxx I teraz chcesz zmienić nazwę pliku name.rar na jakis_folder.rar? Dlaczego jakis_folder.rar, a nie inne.rar? Musisz sprecyzować, co dokładnie chcesz osiągnąć ... podaj też jakie parametry miałby przyjmować ten batch.

Ja napisałem taki prościutki (który raczej na pewno nie jest tym, co potrzebujesz, ale może naprowadzi Cię na właściwy tor):

@ECHO OFF

SET DIR=%~n1

REN %2 %DIR%.%~x2

Jako pierwszy parametr podajesz ścieżkę do folderu, np C:\jakis_folder , a jako drugi nazwę pliku w tym folderze, np. jakis_plik.txt. Batch zmieni nazwę pliku jakis_plik na jakis_folder (rozszerzenie pliku pozostanie bez zmian, czyli będzie to txt).

PS Nie widzę jakie by to miało mieć zastosowanie :smiley: