powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Bat файлы. Замена
11 сообщений из 11, страница 1 из 1
Bat файлы. Замена
    #39388666
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Подскажите как заменить в ПЕРЕМЕННОЙ текст из другой переменной.
например имеет
Код: powershell
1.
2.
3.
4.
set str1=w:\2017\01\6102a
set str2=w:\2017\01

Нужно в итоге получить переменную str1 в которой останется значение 6102a


Прошу не предлагайте мне читать последние 5 символов т.к. кроме этих пяти символов вначале могут быть еще очень важные символы: _ или ! или _! или +
Другими словами варианты названия папки могут быть:
6102a
_6102a
!6102a
_!6102a
+6102a
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39388669
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам бат-файлик сейчас такой
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
rem запоминаем текущую папку
set str1=%cd%
rem переходим на уровень выше и запоминаем
cd ..
set str2=%cd%
rem Возвращаемся в начальную папку
cd %cdir%
rem дальше нужно получить имя папки в которой я нахожусь



Суть вопроса в целом сводится к тому: получить имя папки в которой я сейчас нахожусь. Именно имя папки, не путь.
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39388672
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Везде в примерах замена в переменной указанного значения, но я нигде не нашел замену на значение из переменной
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39388676
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushСуть вопроса в целом сводится к тому: получить имя папки в которой я сейчас нахожусь.
Именно имя папки, не путь.

Так назачем тогда такие извращения? Читай до просветления set /?, for /?:
Код: sql
1.
for %i in (%CD%) do echo %~ni


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389414
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Дмитрий, увы просветление не наступает :(
Если не сложно покажите на примере который я описал выше.
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389464
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё проще
Код: plaintext
1.
rem cd ..
for %%A in (..) do echo %%~nA
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389484
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushЕсли не сложно покажите на примере который я описал выше.
Глаза разуй. Или ты в моём сообщении все незнакомые английские буквы пропустил автоматически?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389499
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovakrushЕсли не сложно покажите на примере который я описал выше.
Глаза разуй. Или ты в моём сообщении все незнакомые английские буквы пропустил автоматически?


Я увидел все англицкие буковки, даже скопировал правильно. :)

Если я создаю файл с содержимым:
Код: powershell
1.
2.
@echo off
for %i in (%CD%) do echo %~ni


то получаю такую ошибку:
Непредвиденное появление: CD~ni.

Что не так?
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389503
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
ещё проще
Код: plaintext
1.
rem cd ..
for %%A in (..) do echo %%~nA


Спасибо за подсказку. Получилось
Вопрос закрыт.
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39389505
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushЧто не так?
Если ты пихаешь это в файл, проценты у имени переменной надо удваивать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Bat файлы. Замена
    #39395919
TITO-видел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushСуть вопроса в целом сводится к тому: получить имя папки в которой я сейчас нахожусь. Именно имя папки, не путь.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
set P=
call :Path .
echo %P%
rem ...

exit /b

:Path
  set P=%~nx1
  exit /b
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Bat файлы. Замена
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]