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

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

Ответить
Настройки темы
CMD/BAT - [решено] убрать точку в цикле из расширения файла

Старожил


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

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


Изменения
Автор: shadowbat
Дата: 24-09-2019
есть код
Код: Выделить весь код
for %%i in ("%CD%\*.txt") do ( 
echo %%~nxi
)
pause
нужно, чтобы вместо "name.txt" выводились "name-txt" или "name txt"

этот код работает только с setlocal EnableDelayedExpansion
Код: Выделить весь код
for %%i in ("%CD%\*.txt") do ( 
echo %%~xi
set "qqn=%%~ni"
set "qqx=%%~xi"
setlocal EnableDelayedExpansion
echo !qqn!!qqx!
echo !qqx:.=-!
echo !qqx:~1,3!
set qq1=!qqx:.=-!
set qq2=!qqx:~1,3!
echo !qq1!
echo !qq2!
set qq3=!qqn!!qq1!
set qq4=!qqn! !qq2!
echo !qq3!
echo !qq4!
set qq5=!qqn!!qqx:.=-!
set qq6=!qqn! !qqx:~1,3!
echo !qq5!
echo !qq6!
endlocal
)
pause
какие еще есть варианты, только без EnableDelayedExpansion ? и без goto

Отправлено: 21:59, 22-09-2019

 

Ветеран


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

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


Цитата shadowbat:
надо было положить файл file.txt в \file-txt\file.txt »
и тут условия меняются с изначальными, ну делов-то, слегка изменить подпрограмму:
Скрытый текст
Код: Выделить весь код
...

:#
 if not exist "%~2-%~3" md "%~2-%~3"
 >>log.txt (
  echo -------------------------------------
  echo %date%-%time%
  echo copy "%~1" "%~2-%~3"
  copy "%~1" "%~2-%~3"
  echo -------------------------------------
 )
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:17, 24-09-2019 | #21



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Как убрать ASCII-символ из файла? glukin Скриптовые языки администрирования Windows 8 24-03-2017 10:23
CMD/BAT - Убрать пробелы из файла magistor.88 Скриптовые языки администрирования Windows 2 16-03-2015 17:30
CMD/BAT - [решено] Как из имени файла убрать 11 символов cdp75 Скриптовые языки администрирования Windows 3 26-04-2012 06:07
CMD/BAT - Обработать два текстовых файла в одном цикле: как? grinsen Скриптовые языки администрирования Windows 1 27-02-2010 03:33
Мультимедиа - Как убрать лицензию из WMV-файла? Guest Программное обеспечение Windows 34 26-07-2008 18:47




 
Переход