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

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

Ответить
Настройки темы
CMD/BAT - Баг работы findstr в win7 ? Или нет?

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


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

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


Возникла потребность написать скрипт для синхронизации файлов в указанной папке с файлами на фтп сервере.
После изучения данного форума (спасибо ребятам за классные посты) получилось следующее
читать дальше »
@Echo off
SetLocal EnableDelayedExpansion
Set lst1=1.txt
Set lst2=2.txt
Set dl=3.txt
Set cp=4.txt
set ed=FOLDERtoSynh


echo Start work %date% %time% > SyncLog.txt
dir /b /o-d %ed% > %lst1%
(echo user USERNAME PASSWORD
echo cd SOMEFOLDER
echo ls -d
echo quit)|ftp -n FTPNAME > %lst2%


findstr /v /g:%lst2% %lst1%>%cp%
findstr /v /g:%lst1% %lst2%>%dl%

del %lst2%
echo open FTPNAME>>%lst2%
echo USERNAME>>%lst2%
echo PASSWORD>>%lst2%
echo cd SOMEFOLDER>>%lst2%
echo bin>>%lst2%
for /F "usebackq tokens=* delims=" %%i in (%cp%) do (set a=%%i%
echo put %ed%\!a! >> %lst2%
echo file !a! copy to FTPdir %date% %time% >> SyncLog.txt)
for /F "usebackq tokens=* delims=" %%i in (%dl%) do (set a=%%i%
echo del !a! >> %lst2%
echo file !a! delete from FTPdir %date% %time% >> SyncLog.txt)
echo quit>>%lst2%
ftp -s:%lst2% >> SyncLog.txt

del %lst1% %lst2% %cp% %dl%


И данный скрипт не корректно работает в Windows 7. После пары битв, была найдена причина, после помещения результата findstr в файл, в последней строке отсутствует перевод строки. Или причина в другом, но факт не корректно формируется список на удаление.
Проверив эту теорию оказалось, что в операционке Windows server 2008 R2 та же проблема.
Зато в Windows Server 2012 и Windows 8 скрипт отрабатывается безупречно.


Уважаемые знатоки, подскажите сталкивался ли кто то с подобной проблемой и есть ли возможность ее устранить для Win7 (2008 R2)!?

Отправлено: 15:24, 19-09-2013

 

Аватара для specialist

Старожил


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

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


Цитата prom1se:
после помещения результата findstr в файл »
возможно покажется банальным, но если дело в особенностях и различиях работы findstr в разных ОС, я бы попробовал взять данный файл (c:\Windows\System32\findstr.exe) из той ОС, где он работает "безупречно" и закинуть в папку со скриптом, чтобы скрипт брал его в первую очередь.

-------
Все что было создано руками и умом одного человека, может быть изменено по своему образу и подобию другим. ICQ: 560-361 Блог: repacksbyspecialist.blogspot.com


Отправлено: 22:41, 23-09-2013 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Win7 ставится, а Win7 SP1 нет MogilShik2007 Microsoft Windows 7 6 07-02-2013 10:23
Непонятный баг с изображением (браузер или видеокарта)? exo Хочу все знать 1 09-08-2012 09:14
Доступ - КАК НАСТРОИТЬ ЛОКАЛЬНУЮ СЕТЬ ЧЕРЕЗ WiFi В win7+win7,ЕСЛИ НЕТ ФУНКЦИИ HOMEGROUP? cassambler Тест-форум 0 12-11-2010 14:35
Ошибка - [решено] Отладка приложения или как узнать в чем баг weblive Microsoft Windows 2000/XP 3 11-09-2010 13:44
Шлюз в 2к (фенька или баг???) afattn Сетевые технологии 6 04-07-2004 10:08




 
Переход