Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Пробелы в именах при перемещении

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


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

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


Изменения
Автор: VladIva
Дата: 07-12-2014
Изображения
Тип файла: jpg cmd.JPG
(24.0 Kb, 50 просмотров)
Форумчане, прошу вашей помощи. Требуется переместить список файлов, указанных в list.txt. Проблема в том, что он прекрасно переносит файлы с простыми именами, но как только появляется пробел в имени, он отказывается их видеть. Та же проблема с файлами, у которых в имени есть "нестандартные" символы, типа немецких умляутов или японских иероглифов. Можно ли его сделать "всеядным"?

PHP код: Выделить весь код

@echo off

    set 
LIST=list.txt
    set TO
=C:UserstestDesktop
    
for /%%i in (%LIST%) do (
        
copy /"%%i" %TO%
    )
pause
exit /

Вот трейс. Первые два файла с пробелом и арабской вязью в именах. Третий — только латиница без пробелов.

http://forum.oszone.net/attachment.p...1&d=1417964816

Отправлено: 17:48, 07-12-2014

 

Ветеран


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

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


Код: Выделить весь код
for /f "tokens=*" %%i in ....
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 07-12-2014 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
for /f "delims=" %%i in ...
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:13, 07-12-2014 | #3


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


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

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


Вложения
Тип файла: rar bat_test.rar
(641 байт, 42 просмотров)

Не кушает.


http://forum.oszone.net/attachment.p...1&d=1417965914

Отправлено: 18:24, 07-12-2014 | #4


Ветеран


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

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


Код: Выделить весь код
@echo off

>nul chcp 1251

set "set LIST=C:\Users\user\Desktop\bat_test\list.txt"
set "set TO=C:\Users\user\Desktop\bat_test"
	
for /f "usebackq delims=" %%i in ("%LIST%") do (

 >nul chcp 866

 copy /y "%%i" "%TO%"
 )

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

Отправлено: 19:07, 07-12-2014 | #5


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


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

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


А можно вместо copy использовать robocopy? У copy я не нашел флаг запрета перезаписи уже имеющихся в папке файлов с такими именами.

Отправлено: 20:01, 08-12-2014 | #6


Ветеран


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

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


VladIva, можно, но не нужно, поскольку есть такая конструкция:
Код: Выделить весь код
echo no| copy /-y "%%i" "%TO%"
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:20, 08-12-2014 | #7


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


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

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


А есть ли возможность сохранить структуру папок при переносе?

Последний раз редактировалось VladIva, 08-12-2014 в 23:44.


Отправлено: 22:57, 08-12-2014 | #8


Ветеран


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

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


Возможность есть, а смысла в двойной проверке не вижу. Если Вам нужно применить условие "if exist" для чего-нибудь ещё, кроме копирования файла, то напишите об этом.

Отправлено: 00:27, 09-12-2014 | #9


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


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

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


Понял, лишняя проверка. А есть ли возможность сохранить структуру папок при переносе? Берем файл из C:\App\translit\arabic.cvs и переносим его в Z:\translit\arabic.cvs? На js, air или php я бы не задумываясь написал регулярку, забирающую строку перед последним слэшем, и собрал строку пути, но как это работает в батниках пока не понятно. Возможно, есть какой-то магический флаг, который сохраняет структуру?

Отправлено: 00:44, 09-12-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Автозамена при перемещении Tosyk Скриптовые языки администрирования Windows 99 07-06-2012 12:25
Умная автозамена при перемещении Tosyk AutoIt 26 18-02-2011 17:02
Разное - Затормаживание окон при перемещении Stich777 Microsoft Windows 7 0 19-01-2011 21:52
Проблема с переносом разрешений при перемещении данных alnimo Microsoft Windows NT/2000/2003 5 21-12-2010 12:22
Треск звука при перемещении мыши Dr. MefistO Непонятные проблемы с Железом 9 07-12-2008 14:26




 
Переход