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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удаление в строке лишних символов

Новый участник


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

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


Изменения
Автор: idlazarev_alex@vk
Дата: 05-10-2014
Всем салют! нужен код, который будет в пути к файлу удалять нужное количество символов справа, от файла, т.е допустим есть файл: "X:\nix\win32\start.exe" нужно получить путь "X:\nix", есть код, но как его преобразовать, не могу понять. Путь \win32\start.exe будет всегда такой, но начало и диск могут быть разными.

Код: Выделить весь код
SetLocal EnableDelayedExpansion
Set file=e:\Temp 1\temp.txt
Set newfile=e:\Temp 1\newtemp.txt

(For /F "tokens=* usebackq delims=" %%a In ("%file%") Do (
	Set ta=%%a
	Echo !ta:~0,-1!
))>"%newfile%"
Ещё есть код, удаляет пробелы и другие символы подряд, только не могу понять, как подставить:

Код: Выделить весь код
::Удаляет справа лишние пробелы, или другие подряд идущие символы, заданные переменной %2 (Symbol)
:RTrimSpaces %1-in.String %2-in.Symbol %3-out.String.Variable
Set "%~3="
Set "_String=%~1"
for /L %%C in (0,1,8184) do (
  if "!_String:~%%C,1!"=="" Goto ex_RTrimSpaces
  if "!_String:~%%C,1!"=="%~2" (if not Defined LastSpace (Set nSpace=%%C& Set LastSpace=true)) else (Set LastSpace=& Set nSpace=)
)
:ex_RTrimSpaces
if Defined nSpace (Set "%~3=!_String:~0,%nSpace%!") else (Set "%~3=!_String!")
Exit /B

Отправлено: 15:37, 05-10-2014

 

Ветеран


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

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


Цитата idlazarev_alex@vk:
который будет в пути к файлу удалять нужное количество символов справа, »
Код: Выделить весь код
%file:~0,-«нужное количество символов справа»%
Цитата idlazarev_alex@vk:
т.е допустим есть файл: "X:\nix\win32\start.exe" нужно получить путь "X:\nix" »
Это отнюдь не «удалять нужное количество символов справа».

Цитата idlazarev_alex@vk:
Путь \win32\start.exe будет всегда такой, но начало и диск могут быть разными. »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sPath=X:\bla-bla-bla\bla-bla-bla\nix\win32\start.exe
set sPartPath=\win32\start.exe
echo !sPath:%sPartPath%=!

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:13, 05-10-2014 | #2



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

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


Новый участник


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

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


Iska, спасибо!

Отправлено: 16:21, 05-10-2014 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Удаление лишних пробелов Word NoBrain Программирование и базы данных 1 13-08-2012 22:12
CMD/BAT - [решено] Удаление первых 9 символов в каждой строке TXT файла pzh2393 Скриптовые языки администрирования Windows 1 18-05-2012 16:53
CMD/BAT - [решено] Поиск и редактирование последних символов в строке sLiDeR-X Скриптовые языки администрирования Windows 3 21-01-2011 13:30
[решено] Заменить текст в строке внутри символов <> FlatX007 AutoIt 2 03-09-2009 22:14
Преобразование русских символов в адресной строке Zalegajuschij Хочу все знать 6 26-02-2009 00:22




 
Переход