|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как бы скопировать прямо из потока? |
|
CMD/BAT - [решено] как бы скопировать прямо из потока?
|
Пользователь Сообщения: 59 |
Профиль | Отправить PM | Цитировать Задача такая. Есть туча файлов в одной директории (много тысяч и каждый день добавляются), они вперемешку, потому что разные названия, но в каждом названии есть дата.
Файлы могут иметь разные даты создания/модификации по сравнению с той датой, что вбита в название каждого из них (это ещё один сюрприз, поэтому не получится просто отсортировать в Проводнике и смотреть в конец списка). Отлавливаю список всех, подгруженных в нужную дату примерно так: , где DID - ещё один идентификатор, а sdate - соответствующая форма даты. В результате получается просто список нужных файлов. Которые затем хочется скопировать куда-нибудь в другую директорию, и уже там с ними работать. Потому что даже PgUp - PgDown в той огромной директории нажимать устанешь, не то что мышкой пытаться что-то выловить. Насколько показывает help, команды copy и xcopy не имеют возможностей копировать с консоли, из файла или принимая source как вывод другой команды, переданной через пайплайн. Поэтому конструкции типа по ходу будут копировать именно * (т.е. всё как есть из этой директории), а хочется скопировать именно тот список файлов, который был получен после тщательного отбора командой выше. Во всяких юникс-шеллах есть возможность брать информацию прямо из консоли, это обозначается дефисом "-". Но в CMD такая штука не работает. А с командой FOR не очень понятно, потому что она не работает со вложенными пайплайнами, только не с перенаправляемыми командами. |
|
Отправлено: 17:07, 07-05-2009 |
Сообщения: 53449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:09, 07-05-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Примерный код пакетного файла может выглядеть наподобие:
Gennie, если переменные окружения «DID»/«sdate» содержат «запрещённые» символы, то, возможно, их также потребуется экранировать посредством «^». |
Отправлено: 21:12, 07-05-2009 | #3 |
Пользователь Сообщения: 59
|
Профиль | Отправить PM | Цитировать Iska, интересный код, завтра попробую сделать оба предложения, но у меня сомнения. Как я говорил, раньше пробовал сделать в цикле FOR пайплайн, и это не получалось, если убирал пайплайн -- всё работало. Кажется, что FOR почему-то не осиливает перенаправление вывода команд внутри себя, не знаю почему. Винда 2К, пропатченная от работы (но на cmd это вроде никак не должно влиять).
|
Отправлено: 23:44, 07-05-2009 | #4 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать Gennie, потоки точно работают внутри цикла. Вы вероятно просто писали | вместо ^| . Внутри цикла нужно экранировать символ | иначе интерпретатор будет думать, что это просто строка с перенаправлением и ничего работать не будет.
|
|
Отправлено: 10:11, 08-05-2009 | #5 |
Пользователь Сообщения: 59
|
Профиль | Отправить PM | Цитировать О, спасибо большое! Да, я действительно не ставил экранов перед символом |.
То, что нужно, получилось с первого совета (copy с нужными параметрами), но интересно будет попробовать и более сложный вариант, для самообразования. Не успел ещё. |
Отправлено: 21:39, 11-05-2009 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Первая строчка переменной. Как скопировать? | r35TnX | AutoIt | 5 | 06-03-2009 07:12 | |
[решено] Как скопировать фрагмент текста из файла PDF | Antonij | Хочу все знать | 12 | 04-02-2009 06:49 | |
[решено] error: 800b0100 - прямо на 39-й минуте | RenZo-2007 | Автоматическая установка Windows 2000/XP/2003 | 10 | 04-04-2008 21:11 | |
[решено] Как скопировать текст из окна DOC. | Ser6720 | Хочу все знать | 4 | 16-01-2008 08:31 |
|