Копирование из списка
Привет, подскажите пожалуйста батник для копирования файлов из списка.
Есть список C:\test\list.txt, в этом списке название файлов, каждое название с новой строки. В папке C:\test лежит куча файлов с названиями из list.txt, эти файлы имеют расширение txt. Нужно скопировать определенные(которые есть в list.txt) файлы из C:\test в папку C:\123. На форуме есть похожие темы, но ни одна не сработала (там условия другие). |
Цитата:
Для случая полных путей: Код:
for /f "usebackq delims=" %%i in ("C:\test\list.txt") do copy "%%~i" "C:\123\*.*" Код:
for /f "usebackq delims=" %%i in ("C:\test\list.txt") do copy "C:\test\%%~i" "C:\123\*.*" |
Мне без разницы в принципе, попробовал оба способа, пишет "Не удается найти указанный файл".
Я так понимаю это кодировка не правильная, нагуглил разные способы: через notepad в OEM-866, ansi, chcp 1251 и тому подобные, что-то не сработало у меня. |
krambrige, файл C:\test\list.txt должен быть сохранён в кодировке OEM/866.
|
Поменял, все равно такая же ситуация.
|
krambrige, наберите в консоли chcp - что выдаёт?
|
Выдает
Текущая кодовая страница: 866 Я решил вопрос не много по другому, через 7zip, сперва тоже ошибку выдало про неверную кодировку, потом заработало Нужно поменять кодировку на utf-8 в list.txt @echo off set now=%TIME:~0,-3% set now=%now::=.% set now=%now: =0% set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now% 7z.exe a -tzip -ssw -mx7 -r0 -x!*.mdx C:\test\%now%.zip @list.txt |
Подозреваю, список файлов в текстовом файле с кодировкой 1251
Код:
@Echo Off Цитата:
|
Я точно не скажу, много информации по поводу кодировок пересмотрел, все в голове перемешалось.
Но в батнике пользователя Iska я менял кодировку на 1251, utf 8, OEM 866 и все равно не выполнялся батник. |
krambrige,
Цитата:
Мой батник, если в путях, указанных в батнике, имеются русские символы, надо сохранить в 1251 кодировке. Он обрабатывает список файлов в 1251 кодировке. (проверьте, notepad.exe C:\test\list.txt правильно отображает имена файлов?) |
Я менял везде (так как сперва не знал в каком файле менять, решил методом тыка), ansi верно ведь? потому что в notepade есть 1251, но она сбрасывается. С помощью Sublime сохранил в 1251, все равно кракозябры.
В общем сейчас я все заново проделал с 7zip, нашел что я там поменял и почему у меня заработало, просто на utf-8 поменял файл с названиями, без использования 7zip не срабатывает у меня. |
Еще один вопрос возник, не уверен что можно создавать много тем, спрошу тут, не подскажите как добавить название файла в самое начало этого файла?
Файлов много, расширение txt, находятся они в папке C:\file |
krambrige, прикрепите Ваш текстовый list.txt к сообщению, дайте разобраться с реальностью.
Цитата:
|
Цитата:
в ПО под этим подразумевается кодировка настроенная в системе для совместимости с не поддерживающими юникод программами |
Цитата:
|
Цитата:
|
Именно так. krambrige, упакуйте Ваш файл list.txt в архив, каковой прикрепите к сообщению, либо выложите на dropmefiles, а ссылку — сюда.
|
Цитата:
|
|
Busla, тут без дискуссий: если в именах файлов наличествует юникод — добро пожаловать в PowerShell. Можно, конечно, поизвращаться с обходными вариантами, но PowerShell — проще. Конкретно в файле автора — в одном имени файла («Ни Суарес ни Кавани — только Стуани Кто меняет историю Жироны.txt») тире есть, и именно длинное — Em Dash.
Ежели же подискутировать, то и Проводник тут не показатель: файловая система вполне позволяет такие имена, на которых тот же Проводник тупо откажется работать. Цитата:
|
Цитата:
формат генерируемых Проводником имён показатель того, что обычно встречается на диске у пользователя Цитата:
наверняка это на язык системы завязано - длинное тире нехарактерно для английской типографики |
Время: 16:37. |
Время: 16:37.
© OSzone.net 2001-