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

Показать сообщение отдельно

Googler


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

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


Цитата shadowbat:
РЕШЕНИЕ »
область действия CHCP должна быть по возможности минимальной... Во-первых, это избавит скрипт от бессмысленных перекодировок и ускорит его работу... Во-вторых, предохранит от глюков в реализации этих перекодировок - далеко не все CMD команды корректно её проводят (FindStr делает это весьма своеобразно), а в некоторых её просто "забыли" реализовать (REG в локализованной WinXP)
Цитата shadowbat:
как удалить файл cmd после выполнения?
del "%$f%" перед chcp866 не помогает »
помогает, нужно только использовать CALL при вызове батника, иначе это будет последней выполненной командой... если лог работы не нужен, можно запустить MOVE на выполнение без вывода в промежуточный файл:
читать дальше »
Код: Выделить весь код
rem.============================&chcp 1251
set $m=C:\Program Files\*.txt
set $f=%~n0_tst.cmd
set mp=100
rem.============================&chcp 866

for /f "delims=" %%a in ('dir /b/s "%$m%"') do @(
set "b=%%~dpna"& call set "c=%%b:~0,%mp%%%"& call call set "d=%%%%b:%%c%%=%%%%"
if defined d call move "%%a" "%%c%%%%~xa")

Цитата shadowbat:
как сделать только путь до файла без добавления имени файла?»
Код: Выделить весь код
(for /f "usebackq delims=" %%a in ("2.txt") do @echo %%~dpa)>3.txt
Цитата shadowbat:
а в решении через Autoit если mp<"длины пути до файла" то скрипт работает некорректно »
это решается скурпулезным анализом всех возможных вариантов и четкой формулировкой задачи (грубо говоря, чего заказали то и получили), уже отмечал, что некоторые очевидные ситуации в условии не оговорены, например:
- разные имена файлов могут стать одинаковыми, как должен вести себя скрипт: пропускать файл, перезаписывать последним, выдавать запрос или переименовывать по какому-то правилу?
- имя файла может быть потеряно полностью, каковы действия скрипта: перемещать файл с именем папки или пытаться сохранить хотя бы часть имени файла?... возможны и забавные ситуации типа "C:\DIR1\DIR2\.pdf"
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:01, 19-06-2010 | #15