CMD/BAT - [решено] удалить из имени фаила пробелы

Ответить
Аватара пользователя
erufa

CMD/BAT - [решено] удалить из имени фаила пробелы

Сообщение erufa »

суть в следующем: имеется куча фаилов с разными именами, часть из них вида "file data.001", необходимо убрать пробел между частями file и data которые являются единой частью имени, получив фаил вида "filedata.001"
Аватара пользователя
erufa

Re: CMD/BAT - [решено] удалить из имени фаила пробелы

Сообщение erufa »

Код:

Код: Выделить всё

@echo off
for /f "tokens=1,2" %%i in (' dir /b "file data.*" ') do ren "%%i %%j" "%%i%%j"



Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=*" %%i in (' dir /b ') do call:ren "%%i"
goto:eof
:ren
set "file=%~1"
ren %1 %file: =%
Аватара пользователя
erufa

Re: CMD/BAT - [решено] удалить из имени фаила пробелы

Сообщение erufa »

Цитата Foreigner:



Код:

@echo off

setlocal

for /f "tokens=*" %%i in (' dir /b ') do call:ren "%%i"

goto:eof

:ren

set "file=%~1"

ren %1 %file: =%
CMD/BAT - [решено] удалить из имени фаила пробелы




спасибо, то что надо делает, одно уточнение, а как указать путь к папке в которой надо фаилы от пробелов избавлять и потом перемещать в другую папку? из той же папки что и сами фаилы запускать батник в данной ситуации нельзя

сам пробовал исправить... ну не въезжаю никак Изображение
Аватара пользователя
RostVY

Re: CMD/BAT - [решено] удалить из имени фаила пробелы

Сообщение RostVY »

так по прикидке...



' dir /b ' заменить на ' dir исходная_папка /b '



и



ren %1 %file на что-то типа

ren исходная_папка%1 другая_папка%file



а почему


Цитата erufa:



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




?
Аватара пользователя
erufa

Re: CMD/BAT - [решено] удалить из имени фаила пробелы

Сообщение erufa »

Цитата RostVY:



' dir /b ' заменить на ' dir исходная_папка /b '
CMD/BAT - [решено] удалить из имени фаила пробелы




точно, все гениальное просто, единственное что ren надо по другому переделать

@echo off

setlocal



for /f "tokens=*" %%i in ('dir c:\Temp\1 /b') do call:ren "%%i"

move c:\Temp\1\*.* c:\Temp\arch

goto:eof



:ren

set "file=%~1"

ren c:\Temp\1\%1 %file: =%



такой скрипт в результате убирает пробелы из имен фаилов в папке c:\Temp\1 и перемещает их в папку c:\Temp\arch




Цитата RostVY:



а почему

Цитата erufa:

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




потому что надо фаилы переместить в другую папку... сам себя скрипт тоже переместит



огромное спасибо за помощь
Ответить

Вернуться в «Скриптовые языки администрирования Windows»