|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - имя "входящего" файла без расширения |
|
|
CMD/BAT - имя "входящего" файла без расширения
|
Новый участник Сообщения: 40 |
Профиль | Сайт | Отправить PM | Цитировать подскажите, может ли командная строка какой-либо переменной возвращать только ИМЯ "входящего" файла (мышкой закинутый в "Открыть с помощью" данного батника) без расширения? поясню, например, мне нужно переименовать расширение файла, а не добавить поверх существующего новое таким кодом:
|
|
Отправлено: 08:26, 15-06-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Radiant:
|
|
Отправлено: 08:33, 15-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 40
|
Профиль | Сайт | Отправить PM | Цитировать благодарю! работает)) а где можно почитать на тему подобных переменных?
|
Отправлено: 08:39, 15-06-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Radiant:
|
|
Отправлено: 08:47, 15-06-2010 | #4 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Напишите, пожалуйста, возможно ли реализовать нижеследующее? Если да, то, прошу помочь.
1) Есть файл D:\DP_MassStorage_wnt5_x86-32_101002.7z; 2) Нужно при помощи *.cmd файла определить имя файла D:\DP_MassStorage_wnt5_x86-32_101002.7z, т. е. DP_MassStorage_wnt5_x86-32_101002 и записать это имя, т. е. DP_MassStorage_wnt5_x86-32_101002 в переменную *.cmd файла, чтобы затем эту переменную, постоянно меняющуюся в зависимости от имени файла, использовать при создании архива. Что-то вроде такого должно получиться:где текст после знака равно (в моём примере: DP_MassStorage_wnt5_x86-32_101002) в строкедолжен определяться автоматически, в зависимости от имени файла D:\DP_MassStorage_wnt5_x86-32_101002.7z, а не вписываться вручную, как у меня. Спасибо. |
|
Отправлено: 13:02, 07-10-2010 | #5 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать
Только у Вас дальше ошибки, поправил:
@ECHO OFF For %%i In ("D:\DP_MassStorage_wnt5_x86-32_101002.7z") Do Set NAZVANIYE_BEZ_.7z=%%~ni ECHO Распаковка файла %NAZVANIYE_BEZ_.7z%.7z в папку D:\1. "%PROGRAMFILES%\7-Zip\7z.exe" x "D:\%NAZVANIYE_BEZ_.7z%.7z" -o"D:\1" ECHO Упаковка папки D:\1 в архив D:\%NAZVANIYE_BEZ_.7z%_(N591).7z "%PROGRAMFILES%\7-Zip\7z.exe" a "D:\%NAZVANIYE_BEZ_.7z%_(N591).7z" "D:\1" |
Отправлено: 13:45, 07-10-2010 | #6 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Пожалуйста, поправьте этот код, чтобы работало. А работать должно:
1) определение имени файла без расширения и запись в переменную 2) соответственно, после рабочего пункта 1) должен работать весь кодСпасибо. |
Последний раз редактировалось SharkyEXE, 14-03-2012 в 00:22. Отправлено: 00:16, 14-03-2012 | #7 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать SharkyEXE, так?
@Echo Off Set m123=e: Set m321=%m123%\Temp\MSP Set maska=DP_MassStorage_wnt5_x86-32_*.7z For %%i In ("%m321%\%maska%") Do Set FILENAME=%%~ni If Defined FILENAME ( Echo Найден файл "%m321%\%FILENAME%.7z" ^(без кавычек^) ) Else ( Echo Не найден файл по маске "%m321%\%maska%" ^(без кавычек^) ) Pause>nul |
Отправлено: 10:44, 14-03-2012 | #8 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Цитата gora:
|
|
Отправлено: 14:53, 14-03-2012 | #9 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Добрый лень
я переименовываю группы файлов таким макаром set LIN1=for /f "tokens=*" %%a in ('dir /b "%BINDIR% set LIN2= do ren "%orgFILE%" %LIN1%ForgeAmidst-*.jar"')%LIN2%"%Rnam%GUImap_%%a" set Rnam=1_ for /f "tokens=*" %%a in ('dir /b "%BINDIR%ForgeAmidst-*.jar"') do ren "%orgFILE%" "%Rnam%GUImap_%%a" .... ... .... for /f "tokens=*" %%a in ('dir /b "%BINDIR%FullThrottleNEI-*.jar"') do ren "%orgFILE%" "%Rnam%GUI_3_S_%%a" мне нужно теперь после имени файла каждого добавлять -FAXV что бы на выходе получился из ForgeAmidst-1.1.1.jar в 1_GUImap_ForgeAmidst-1.1.1-FAXV.jar сечас получаеться 1_GUImap_ForgeAmidst-1.1.1.jar-FAXV что сами видите не гуд нашёл удобный способ для себя в 1 строчку...именно 1 строчку надо но переменная FILENAME не работает в команде ren |
Последний раз редактировалось DonQuixote, 29-12-2016 в 13:33. Отправлено: 12:49, 29-12-2016 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Почему Windows при запуске файла с именем "start.exe" показывает кнопки как "Пуск"? | Котяра | Хочу все знать | 9 | 22-06-2009 13:48 | |
Подмена файла "hosts" для запрета "Одноклассников" | D_Master | Хочу все знать | 10 | 17-10-2008 15:40 | |
Dial-Up - Недоступно "высокоскоростное подключение запрашивающее имя пользователя и пароль" | XaHyMaH | Сетевые технологии | 4 | 19-04-2008 14:31 | |
Изменение "Мой компьютер" на "Имя текущего пользователя на имя компьютера" | shcval | Microsoft Windows 2000/XP | 1 | 15-12-2006 21:01 | |
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 |
|