Показать полную графическую версию : [решено] батник для apxивaции набора пaпок
r-studio
17-06-2013, 20:15
Iska,
тут дело ещё в том, что на моем компе батник работает, НО на другом компе он не работает, при том, что пути к файлам, кот. указаны в листфайл.тхт на обоих компах одинаковы. Условно говоря с:\2\н.док на обоих компах одинаковы.
и я реально не понимаю в чем дело.
тут код надо редактировать.
НО на другом компе он не работает »
Как именно он не работает «на другом компе»?
r-studio
17-06-2013, 22:28
Iska, я понял что надо сделать.
надо в батнике прописать что то, чтобы он автоматически менял кодировку на utf-8
сейчас на 7-ке стал проводить эксперименты. взял свой этот батник пересохранил его в ютф-8, а листфайл оставил прежним.эффекта нет.
тогда взял листфаил пересохранил его в ютф-8. все стало ок.
Вопрос: можно ли в батнике что то прописать, чтобы он автоматически пересохранял файлы в ютф-8
дело в том, что на хр эта процедура по ходу не требуется, а вот на 7-ке требуется.
r-studio, кодировка пакетных файлов, за исключением редких случаев, должна быть в OEM/866. Разницы тут в операционных системах, будь то Windows XP, або Windows 7, нет. Потому сохранять пакетный файл в UTF-8 нет никакого смысла.
тогда взял листфаил пересохранил его в ютф-8. все стало ок. »
Значит, там Вы так и оставили как было, не добавив в командную строку 7-Zip'а указание на кодировку файла-списка, отличную от умолчальной для него UTF-8. См. выше пост #13 (http://forum.oszone.net/post-2168259-13.html).
Вопрос: можно ли в батнике что то прописать, чтобы он автоматически пересохранял файлы в ютф-8 »
Можно, но не нужно.
дело в том, что на хр эта процедура по ходу не требуется, а вот на 7-ке требуется. »
Не требуется.
r-studio
17-06-2013, 23:36
Iska, я добавил -scsWIN» в батник
@echo off
setlocal enableextensions enabledelayedexpansion
call :GetDateTime
set sFileName=%DateTime:~0,4%_%DateTime:~4,2%_%DateTime:~6,2%#%DateTime:~8,2%_%DateTime:~10,2%.zip
set sFolderList="e:\123\Listfile.txt"
if defined sFolderList (
if exist "%sFolderList%" (
"%ProgramFiles%\7-Zip\7z.exe" a -i@%sFolderList% -scsWIN "%sFileName%"
) else (
echo Can't find folder list file [%sFolderList%].
)
) else (
echo Usage: %~nx0 ^<Folder list^>
)
endlocal
exit /b 0
rem ==========================================================================
rem Функция GetDateTime()
rem
rem Серый форум / CMD/BAT: получение формата дата-время для имени файла
rem (http://forum.script-coding.com/viewtopic.php?id=5066)
rem ==========================================================================
:GetDateTime
setlocal enableextensions enabledelayedexpansion
set sProcName=%~0
for /f "delims=." %%i in ('wmic.exe OS get LocalDateTime ^| find "."') do set sDateTime=%%i
endlocal & set %sProcName:~4%=%sDateTime:~0,14%
exit /b 0
rem ==========================================================================
на хр заработало , а вот на 7-ке тот же батник с тем же листом (пути были сохранены к файлам) ничего не стал делать.и только после пересохранения листфайла в utf8 случилось волшебство, на 7-ке заработал. При том, что параметр -scsWIN был оставлен в коде.
вот и возникла идея, чтобы он автоматически обнаруживал кодировку и исправлял её.
r-studio
18-06-2013, 09:12
Да, точно:) Ну так можно код подправить,чтобы он сам кодировку изменял?)))
Ну так можно код подправить,чтобы он сам кодировку изменял?))) »
Поправляйте. У меня работает, посему не вижу смысла идти поперёк документации.
r-studio
18-06-2013, 22:52
ладно, тема объявляется решенной. :)
r-studio, почистите личку:
r-studio превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
r-studio
26-06-2013, 22:42
сделал
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.