Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Смена расширения

Ответить
Настройки темы
CMD/BAT - [решено] Смена расширения

Пользователь


Сообщения: 118
Благодарности: 1


Конфигурация

Профиль | Отправить PM | Цитировать


Мне нужно скриптом изменять расширения всех файлов на .java
Не какого-то одного, а всю папку (*.*)

Отправлено: 22:50, 29-07-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Burning Hell:
Так вот зачем пишут эту штуку, с echo) »
Угу. Если опустить «@» перед «echo off», то, при прочих умолчаниях, при исполнении этого пакетного файла первой строкой вывода будет именно «echo off» — сама эта команда, а подавление начнётся со следующей.

Отправлено: 16:11, 13-11-2017 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 79
Благодарности: 2

Профиль | Отправить PM | Цитировать


Iska,

Цитата Burning Hell:
И еще такой вопрос. Можно ли как-то научить этот код обрабатывать директорию, которая лежит в шаре? При этом сам скрипт лежит на локальном диске. »
Пробовал делать вот так:

Код: Выделить весь код
net use z: \\docs\i\Подразделения\НД\ДК\ОСС\Проекты
for /r "z:\EY\InfoM\scripts" %i in ("*.cmd.txt") do @ren "%i" "%~ni"
Не работает. При том, что сам сетевой диск подключился и открывается.

Отправлено: 16:23, 13-11-2017 | #22


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Burning Hell, при использовании внутри пакетных файлов «%» при переменных цикла и параметрах надо удваивать, наподобие:
Код: Выделить весь код
@echo off

net.exe use z: "\\docs\i\Подразделения\НД\ДК\ОСС\Проекты"
for /r "z:\EY\InfoM\scripts" %%i in ("*.cmd.txt") do ren "%%i" "%%~ni"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:42, 13-11-2017 | #23


Пользователь


Сообщения: 79
Благодарности: 2

Профиль | Отправить PM | Цитировать


Iska, спасибо огромное, дело действительно в знаках "%". Но при запуске скрипта выдает ошибки: "Сохраняемый или полученный файл заблокирован." Пробовал выдать права не только на чтение непосредственно для директории scripts - не помогло.

Отправлено: 16:58, 13-11-2017 | #24


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Burning Hell:
Но при запуске скрипта выдает ошибки: "Сохраняемый или полученный файл заблокирован." »
Добавьте «rem» перед «@echo off». Выполните пакетный файл в командной строке. Скопируйте с окна консоли полученный вывод, вставьте сюда под тэгами «code» и «spoiler».

Отправлено: 17:12, 13-11-2017 | #25


Пользователь


Сообщения: 79
Благодарности: 2

Профиль | Отправить PM | Цитировать


Скрытый текст

Код: Выделить весь код
C:\Work\scripts>rem net use z: \\docs\i\╨Я╨╛╨┤╤А╨░╨╖╨┤╨╡╨╗╨╡╨╜╨╕╤П\╨в╨Ф\╨Ф╨Ъ╨Р\╨
Ю╨б╨г╨а\╨Я╤А╨╛╨╡╨║╤В╤Л

C:\Work\scripts>for /R "z:\\EY\InfoM\scripts" %i in ("*.cmd.txt") do @ren "
%i" "%~ni"
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.
Сохраняемый или полученный файл заблокирован.

C:\Work\scripts>pause
Для продолжения нажмите любую клавишу . . .

Последний раз редактировалось Burning Hell, 13-11-2017 в 17:43.


Отправлено: 17:17, 13-11-2017 | #26


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Burning Hell, наоборот: сначала обрамить текст тэгом «code», а затем — тэгом «spoiler».

Сохраните пакетный файл в кодировке OEM/866 (сейчас он у Вас, видимо, в UTF-8/65001). «rem» перед «net use» ставить не надо. Отключите в Проводнике диск z: и снова попробуйте выполнить пакетный файл.

Отправлено: 17:40, 13-11-2017 | #27


Пользователь


Сообщения: 79
Благодарности: 2

Профиль | Отправить PM | Цитировать


Iska, вот такую ошибку выдает:

Скрытый текст

Код: Выделить весь код
C:\Work\scripts>net use z: \\docs\i\╨Я╨╛╨┤╤А╨░╨╖╨┤╨╡╨╗╨╡╨╜╨╕╤П\╨в╨Ф\╨Ф╨Ъ╨Р\╨Ю╨б╨
г╨а\╨Я╤А╨╛╨╡╨║╤В╤Л
Системная ошибка 53.

Не найден сетевой путь.


C:\Work\scripts>for /R "z:\EY\InfoM\scripts" %i in ("*.cmd.txt") do @ren "%
i" "%~ni"

C:\Work\scripts>pause
Для продолжения нажмите любую клавишу . . .


От кодировки не зависит - и в OEM/866 и в UTF-8 не работает.

Тут какая-то проблема с сохранением - он не сохраняет после смены кодировки, как будто бы ничего не поменялось в файле. Файл открываешь, а он все равно в UTF-8

Отправлено: 17:48, 13-11-2017 | #28


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Burning Hell:
Тут какая-то проблема с сохранением - он не сохраняет после смены кодировки, как будто бы ничего не поменялось в файле. Файл открываешь, а он все равно в UTF-8 »
В чём и как именно делаете?

Отправлено: 17:53, 13-11-2017 | #29


Пользователь


Сообщения: 79
Благодарности: 2

Профиль | Отправить PM | Цитировать


Iska,

1. Открываю свой батник в Notepad++.
2. В пункте Encoding выбираю Cyrillic и далее OEM 866. Кодировка меняется, но документ не подсвечивается, что были изменения.
3. После закрытия переоткрытия файла кодировка старая...

***
Сделал так. Сконвертировал файл в ANSI и далее выбрал OEM 866. Теперь скрипт выглядит так:

Код: Выделить весь код
net.exe use z: \\docs\i\╧юфЁрчфхыхэш*\╥─\─╩└\╬╤╙╨\╧ЁюхъЄ√
for /r "z:\EY\InfoM\scripts" %%i in ("*.cmd.txt") do @ren "%%i" "%%~ni"
pause
Однако сейчас наблюдаются какие-то проблемы с доступом к самой шаре. Скрипт выдает такую же ошибку как в моем предыдущем сообщении.

Последний раз редактировалось Burning Hell, 14-11-2017 в 09:21.


Отправлено: 09:13, 14-11-2017 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Смена расширения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Изменение расширения funalien Программное обеспечение Windows 2 23-10-2011 07:47
Разное - [решено] Пункт смена расширения в контекстном меню файла Chekis9100a Microsoft Windows 2000/XP 7 06-12-2010 02:03
Интерфейс - Произвольная смена расширения рабочего стола, после выхода с игр artem1982 Microsoft Windows 7 10 25-03-2010 20:23
Расширения Gerrard Хочу все знать 3 25-01-2007 18:56
что за расширения *.CHK Millenium Хочу все знать 2 09-07-2005 02:07




 
Переход