Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переименовывающий bat 
V
    Опции темы
Breezend
Дата 15.5.2006, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



Доброго времени суток. Задание следующее: написать bat файл переименоывающий в заданной директории файлы с данным расширением. 
Формат: [Drive][PATH]исходнаяПапка имяФайла.расширение

переименовывание идет по следующей схеме :
имяфайла.староеИмяФайла.расширение

пример: папка Тест в которой лежат 3 файла - 1.txt, 2.txt, a.png
запуск bat - muuda.cmd C:\Test aldo.txt
по завершению работы bat - aldo.1.txt, aldo.2.txt, a.png

Код

@echo off

:: muuda.cmd


title muuda.cmd

set PATH=%1

if "%~1"=="" (
echo Enter muuda.cmd [Drive:][PATH]sourcefolder fileName.extension
exit /b 1
)


if not exist %PATH% (
   echo FAIL: File/directory does not exist
   exit /b 1
)

if exist %PATH% (

for /f  %%f in ('dir /b /a-d %PATH%') do (
cd %PATH%
::Вот здесь не могу получить нужного результата, поэтому стоит для примера этот код
ren *%~x2 *%~x2 
)

)

Получается, что он переименовывает всего 1 файл и вместо имяФайла.староеИмяФайла.расширение получается имяФайла.расширение 
PM MAIL   Вверх
Hose
Дата 15.5.2006, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.4.2006

Репутация: нет
Всего: 1



помоему в бат файлах нельзя вкладывать скобки типа 
Код

(
ляля
(
ее
)
)

он первую закрывающую скобку относит к первой открывающей.
Используй call или & |
 
PM MAIL   Вверх
Breezend
Дата 15.5.2006, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



почему нельзя? можно ... просто у меня не получается чтобы он переименовывал так как нужно ... код то работает сам по себе smile 
PM MAIL   Вверх
Breezend
Дата 15.5.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



разобрался как добавить в конец, то есть перед расширением. Как поставить перед оригинальным именем еще не придумал smile 
PM MAIL   Вверх
Akina
Дата 15.5.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



A запуск 

muuda.cmd C:\Test aldo .txt

не устроит?

тогда

cd %1
for %%a in (*%3) do ren %%a %2%%a
 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Breezend
Дата 15.5.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



ать спасибки smile) отлично работает, только почему то у одного файла из нн-ого количества получается дублирование smile)) то есть при запуске 
muuda.cmd C:\Test aldo .jpg 
все jpg будут aldo.1.jpg aldo.2.jpg 
и один файл обязательно будет aldo.aldo.3.jpg

в чем может быть проблема ?  

P.S. Ну если в мой код прикрепить третий аргумент(%3) то тоже все будет прекрасно работать. Просто теперь уже из любопытства можно ли сделать как то по другому, с %1 и %2 только? 

Это сообщение отредактировал(а) Breezend - 15.5.2006, 15:21
PM MAIL   Вверх
Breezend
Дата 18.5.2006, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



еще вопрос smile 
удаляющий .bat. Возможно ли написать его задав что удалять а что нет. Есть батник удаляющий все. выборочное удаление делаю через move (нужно оставить одну папку при удалении с той же структуройй и теми же файлами). Есть ли другие варианты это сделать? потому что если в папке много файлов, либо парочка но весомых(допустим в сумме на 3-6 гектар) то бат будет работать долго 
PM MAIL   Вверх
Akina
Дата 18.5.2006, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



attrib +r somefile.ext
del /Q *.*
attrib -r *.* 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Breezend
Дата 19.5.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



большое спасибо  smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.