Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9

Путь к файлу с точками в названии папки

27.06.2018, 11:09. Показов 4765. Ответов 20

Студворк — интернет-сервис помощи студентам
Имеется bat файл
Как правильно задать путь до файла? Если поменять название папки с точками то работает, читал что нужно поставить кавычки но не помогает.


Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
set fname=normal.jpg
set prima_path="D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\background"
 
set fname2=normal-2.png
set prima_path-2="D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\frame"
 
set fname3=normal-3.png
set prima_path-3="D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\carpet"
 
if not exist %prima_path% goto finish
for /r %prima_path% %%i in (*.jpg) do copy %fname2% %%i
 
if not exist %prima_path-2% goto finish
for /r %prima_path-2% %%i in (*.png) do copy %fname2% %%i
 
if not exist %prima_path-3% goto finish
for /r %prima_path-3% %%i in (*.png) do copy %fname3% %%i
 
:finish
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2018, 11:09
Ответы с готовыми решениями:

Записать в массив относительный путь с именем файла из папки(не зная полный путь папки)
Наверняка вопрос заезженный, но я не нашел(плохо искал) Нужно из вложенной папки, из директории, откуда запускается макрос вытащить имена...

Как программно получить путь к файлу конфигураций программы (файлу user.config)?
Задался целью программно очистить параметры программы, которые сохраняются в файле user.config. Так как параметров много, чтобы очистить...

Файл: Получить полный путь к файлу и записать этот путь в отдельную переменную.
Доброго времени суток.Столкнулся с проблемой в ходе выполнения задачи. Мне нужно получить полный путь к файлу и записать этот путь в...

20
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
27.06.2018, 12:41
Читайте.
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 10:26  [ТС]
(set "prima_path=D:\Layouts\WINAMAX\Layouts\A IR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283 ED972DCDEFB6.1\Local Store\cache\resource\image\background")
так не работает
set "prima_path=D:\Layouts\WINAMAX\Layouts\A IR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283 ED972DCDEFB6.1\Local Store\cache\resource\image\background"

и так тоже не работает.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
28.06.2018, 10:50
Windows Batch file
1
set "prima_path="путь""
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
28.06.2018, 14:03
Цитата Сообщение от bazabonik Посмотреть сообщение
set "prima_path=D:\Layouts\WINAMAX\Layouts\A IR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283 ED972DCDEFB6.1\Local Store\cache\resource\image\background"
и так тоже не работает.
Чойта?
Всё работает, если код в пакетнике будет составлен правильно, то бишь:
не:
Windows Batch file
1
if not exist %prima_path% goto finish
а:
Windows Batch file
1
if not exist "%prima_path%" goto finish
и т.д.

Добавлено через 55 секунд
Цитата Сообщение от FlasherX Посмотреть сообщение
set "prima_path="путь""
Это лишние кавычки.
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 15:42  [ТС]
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
set fname=normal.jpg
set "prima_path=D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\background"
 
set fname2=normal-2.png
set "prima_path-2=D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\frame"
 
set fname3=normal-3.png
set "prima_path-3=D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\carpet"
 
if not exist "%prima_path%" goto finish
for /r "%prima_path%" %%i in (*.jpg) do copy %fname% %%i
 
if not exist "%prima_path-2%" goto finish
for /r "%prima_path-2%" %%i in (*.png) do copy %fname2% %%i
 
if not exist "%prima_path-3%" goto finish
for /r "%prima_path-3%" %%i in (*.png) do copy %fname3% %%i
 
:finish
for /r "%prima_path%" %%i in (*.jpg) do copy %fname% %%i

непредвиденное появление: %%i
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
28.06.2018, 16:25
Цитата Сообщение от YuS_2 Посмотреть сообщение
Это лишние кавычки.
Ошибаетесь. Эти кавычки позволяют не указывать их каждый раз (в данном случае дважды) вместе с переменной, как вы предлагаете.

bazabonik, %%i после do тоже стоит брать в кавычки.
После background, frame, carpet лучше \ поставить, чтобы отличать папки.
А где у вас лежат normal.jpg, normal-2.png, normal-3.png? Рядом с батником?
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 16:59  [ТС]
%%i взял в кавычки
после background frame и carpet (папки) поставил \
normal.jpg normal-2.png и normal-3.png в той же папке что и ват
результат тот же

дело в том что все работает если переименовать папку wameu.04351C371E530C3762CBA45FA283ED972D CDEFB6.1
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
28.06.2018, 17:33
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
28.06.2018, 18:07
Цитата Сообщение от FlasherX Посмотреть сообщение
Ошибаетесь. Эти кавычки позволяют не указывать их каждый раз (в данном случае дважды) вместе с переменной, как вы предлагаете.
Да нет, ошибаетесь Вы. В cmd правильнее кавычки использовать в коде там, где они требуются, а не записывать их в значение переменной, потому что при необходимости избавится от них, придется создавать дополнительный код. А зачем?
Впрочем, Вы ведь вольны поступать так, как больше нравится, никто ведь не запрещает это делать, но учить этому других - точно неправильно.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
28.06.2018, 19:46
Лучший ответ Сообщение было отмечено bazabonik как решение

Решение

Цитата Сообщение от YuS_2 Посмотреть сообщение
Да нет, ошибаетесь Вы. ... а не записывать их в значение переменной, потому что при необходимости избавится от них, придется создавать дополнительный код. А зачем?
В том то и вопрос. Зачем в сабже от них избавляться и создавать дополнительный код? Так кто из нас ошибается?
Цитата Сообщение от YuS_2 Посмотреть сообщение
но учить этому других - точно неправильно.
В каждом случае можно действовать по-разному. Поэтому учить (впрочем, дать подсказку и учить — не одно и то же) можно чему угодно, если это в конкретном случае на 100% работает.

bazabonik, проверил этот код — работает:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cd /d "%~dp0"
set "parent=D:\Layouts\WINAMAX\Layouts\AIR-V2\wameu - копия\wameu.04351C371E530C3762CBA45FA283ED972DCDEFB6.1\Local Store\cache\resource\image\"
 
set fname1=normal.jpg
set "prima_path-1="%parent%background""
 
set fname2=normal-2.png
set "prima_path-2="%parent%frame""
 
set fname3=normal-3.png
set "prima_path-3="%parent%carpet""
 
if /i not exist %prima_path-1% exit
for /r %prima_path-1% %%i in (*.jpg) do copy %fname1% "%%i"
 
if /i not exist %prima_path-2% exit
for /r %prima_path-2% %%i in (*.png) do copy %fname2% "%%i"
 
if /i not exist %prima_path-3% exit
for /r %prima_path-3% %%i in (*.png) do copy %fname3% "%%i"
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 20:07  [ТС]
https://www.cyberforum.ru/atta... 1530205497
Миниатюры
Путь к файлу с точками в названии папки  
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 20:22  [ТС]
https://www.cyberforum.ru/atta... 1530206556
Миниатюры
Путь к файлу с точками в названии папки  
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
28.06.2018, 20:42
Батник в OEM 866 ?
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
28.06.2018, 21:11
bazabonik, а вот интересно, что это за скрины? Т.е. как именно Вы запускаете сценарий?
Только подробно, по шагам...
На всякий случай:
Сценарий записывается в файл с расширением .bat или .cmd и запускается хоть из консоли, хоть из проводника.
А копировать сценарий в буфер и вставлять в консоль - кто вам такое подсказал?
1
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
28.06.2018, 22:05  [ТС]
запускаю из ват файла
В посте Garry Galler увидел CMD.EXE и решил посмотреть что происходит.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
29.06.2018, 01:47
Цитата Сообщение от YuS_2 Посмотреть сообщение
Т.е. как именно Вы запускаете сценарий?
я это понял еще после:
Цитата Сообщение от bazabonik Посмотреть сообщение
непредвиденное появление: %%i
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
29.06.2018, 12:12  [ТС]
Всем спасибо за помощь
проблема решена заработал батник из поста FlasherX,
только название папки на русском коверкалось
https://www.cyberforum.ru/atta... 1530263376
Миниатюры
Путь к файлу с точками в названии папки  
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
29.06.2018, 16:24
Цитата Сообщение от bazabonik Посмотреть сообщение
только название папки на русском коверкалось
Я же выше указал нужную кодировку.
0
0 / 0 / 0
Регистрация: 27.06.2018
Сообщений: 9
29.06.2018, 16:54  [ТС]
не могу найти где про кодировку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2018, 16:54
Помогаю со студенческими работами здесь

Разбить путь к файлу на части - путь, файл и расширение
Как разбить путь к файлу на части - путь, файл и расширение? Например: c:\kuku\part1\name.txt $path=c:\kuku\part1\ $name=name ...

Удалить все папки содержащие в названии temp
Как можно с помощью bat файла удалить все папки, в названии которых содержится слово "temp"? rd "*temp*" и del не...

Как найти путь до папки и удалить папку внутри найденной папки
Здравствуйте, есть форма, на ней кнопка1, кнопка2 и едит, нужно сделать так чтобы при нажатии на кнопку1 программа сама находила путь к...

Выбор нужной папки по маске и подстановка названия выбранной папки в путь в bat файле
Здравствуйте! Есть папка dist содержащая папки с дистрибутивами 1С вида: dist\8.3.5.1186 dist\8.3.6.1977 и тд. В bat файле,скажем,...

После выбора папки в FolderBrowserDialog необходимо вывести путь до этой папки в текстовое поле
После выбора папки в FolderBrowserDialog необходимо вывести путь до этой папки в текстовое поле


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru