Muszę zachować rozszerzenia plików i pracować z podfolderami.
Na przykład: „File.name.ext” powinno stać się „File-name.ext”
Jestem całkowicie nieświadomy co do skryptu powłoki, więc proszę o szczegółową odpowiedź. Nie mam pojęcia, co oznaczają przełączniki, ani nawet jak określić ścieżkę do tego celu.
windows
batch
automation
shell-script
Brandon Ogle
źródło
źródło
Odpowiedzi:
Całkowicie zgadzam się z drugą odpowiedzią. Byłoby to narzędzie do zmiany nazw masowych GUI więc znacznie łatwiejszy w użyciu. Jednak dla zabawy napisałem następujący plik wsadowy, który powinien rekursywnie zmieniać wszystkie pliki w bieżącym katalogu. i podkatalogi. i zastąp. z - (na przykład „ Długi plik. .name.ext " stanie się " Long -file--name.ext „):
Uruchom plik wsadowy raz, a jeśli wynik wydaje się zadowalający, wykonaj rzeczywistą zmianę nazwy, usuwając słowo
echo
(druga instancja, nie z pierwszej linii) i ponowne uruchomienie pliku.źródło
.htaccess
W jakiś sposób nie rozumiem, dlaczego w takim razie chcesz zawracać sobie głowę plikiem wsadowym. Dlaczego nie skorzystasz z jednego z bazillionowych narzędzi do zmiany nazw GUI, takich jak:
http://www.beroux.com/english/softwares/renameit/
Jeśli ten konkretny nie unosi twojej łodzi, sprawdź tę paradę:
http://www.techsupportalert.com/best-free-rename-utility.htm
źródło
Oto moja ostateczna, przetestowana wersja pliku wsadowego, która może robić to, co chcesz. Działa z plikami z lub bez nazw plików lub rozszerzeń, jednak pliki z nazwami zawierającymi
%
lub!
będzie powodować problemy .Używa rozszerzenia opóźnionego, więc musisz uruchomić go z wiersza polecenia z opóźnionym rozszerzeniem (po prostu uruchom
setlocal /enabledelayedexpansion
nie rozetnie go, ponieważ tylko to włącza jeśli jest już włączony ; nie działa, jeśli nie jest włączony, gdy uruchamiany jest wiersz polecenia).Możesz włączyć rozszerzenie opóźnione, otwierając wiersz polecenia za pomocą
/V:ON
przełącznik, ale możesz to również zrobić z istniejącego wiersza polecenia, jak w pliku wsadowym poniżej.źródło
echo
dowództwo. Zawsze używamecho
przed moimi poleceniami podczas pisania pliku wsadowego, aby zobaczyć wyniki bez wprowadzania zmian. W ten sposób mogę przetestować i rozwinąć plik wsadowy bez szkody. Najwyraźniej Karan robi to samo. ☺ Usunąłemechos
.