CMD/BAT - [решено] Автозамена при перемещении

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

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

Цитата Tosyk:



всё это работает если в корне нет Material3 с файлами!
CMD/BAT - [решено] Автозамена при перемещении




само собой, до запуска скрипта этих папок там не должно быть, этот вариант батника не предусматривает многократный запуск




Цитата Tosyk:



я уже начинаю запутываться в вариантах
CMD/BAT - [решено] Автозамена при перемещении




дык и не постите код без нужды, вариант-то всего один в посте #43... но если есть проблемы, нужно отлаживать по частям, в посте #63 первая часть баника с формированием 1-го временного файла
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение amel27 »

скрипт завершил работу: создал все папки (пустые) и 2 файла:



_only_mover_3_eng.$~1


_only_mover_3_eng.$~2 - пустой



что теперь делать?
Аватара пользователя
Tosyk

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

Цитата Tosyk:



что теперь делать?
CMD/BAT - [решено] Автозамена при перемещении




1-й временный файл сформирован, значит 1-я часть батника отработала без ошибок... 2-я часть батника на базе $~1-файла строит список файлов для каждого подкаталога и записывает в файл $~2, вот её код:



Код:

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

@echo on
set root=.\_export_
if not exist "%root%" echo Can't find root folder!& pause>nul& exit
SETLOCAL EnableDelayedExpansion
for %%a in ("%root%") do set "rpth=%%~fa"
type nul >"%~dpn0.$~2"
(for /f "usebackq delims=" %%a in ("%~dpn0.$~1") do (
for /f "delims=" %%b in ('dir/b/s/a-d "%%~a\*"2^>nul') do (set "$b=%%b"
>>"%~dpn0.$~2" echo "!$b:%%a=%~dp0%%~na!"?"%%~zb"?"!$b!"
)))

имя скрипта и $~1-файла должны совпадать, например:



Код:

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

_only_mover_test.$~1
_only_mover_test.bat

запуск с выводом в лог:



Код:

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

_only_mover_test.bat >_only_mover_test.log 2>&1
Аватара пользователя
Tosyk

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

Не понимаю, а разве скрипт из #
CMD/BAT - [решено] Автозамена при перемещении
не должен был ничего переносить? В нём ведь написано moved и.т.д
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение amel27 »

Tosyk, если файл .$~2 пустой, значит спискок файлов для перемещения не сформирован - либо в подкаталогах из .$~1 скрипт не нашел файлов, либо какая-то другая ошибка - вот это и надо теперь выяснить...



P.S. все эти движения называются отладкой (частей) кода скрипта на реальных данных
Аватара пользователя
Tosyk

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

Цитата Tosyk:



вот лог
CMD/BAT - [решено] Автозамена при перемещении




странно, но я не смог воспроизвести эту ошибку у себя на XP/2003, ведь если тупо:



- копируем в любой каталог два файла:



Код:

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

_only_mover_test.$~1 - результат работы 1-й части скрипта (пост #63)
_only_mover_test.bat - скрипт из поста #73

- создаём в этом же каталоге папку "_export_" (пустую);

- запускаем скрипт:



Код:

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

_only_mover_test.bat >_only_mover_test.log 2>&1

в результате должен создаться пустой _only_mover_test.$~2 (файлов нет), но БЕЗ ОШИБОК



немного подправил код в посте #73 - добавил кавычки, не знаю поможет или нет... попробуйте проделать описанную процедуру на другом компьютере без копирования всей папки, может в настройках дело, или код как-то странно копипастится с форума...
Аватара пользователя
Tosyk

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

amel27, возможно ли продолжить наше обсуждение? вроде как в нужном направлении идём, хотелось бы закончить
Аватара пользователя
Tosyk

Re: CMD/BAT - [решено] Автозамена при перемещении

Сообщение Tosyk »

попробовал с изменённым скриптом из поста #73, всё сработало, по крайней мере _only_mover_3_eng.$~2 теперь не пустой, приложил к посту файлы:



_only_mover_3_eng.$~1 -- 320 kb

_only_mover_3_eng.$~2 -- 19000 kb

_only_mover_3_eng.log -- 8500 kb



http://dl.dropbox.com/u/9919707/scri...ipt_working.7z




add:

распаковал снова всё в папку "./_export_/". Может быть теперь попробуем какую-то полную версию скрипта?
Ответить

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