Имя: Пароль:
1C
 
Как написать батник?
0 virtus
 
23.09.14
16:45
Всем привет!

Я хочу написать батник для архивирования файлов во вложенных папках:

Например, есть структура:

file.bat
dir1
-- file1.txt
-- file2.csv
dir2
-- file3.txt
-- file4.csv

Я хочу запустить file.bat и получить

dir1.zip
-- file1.txt
-- file2.csv
dir2.zip
-- file3.txt
-- file4.csv

Я написал так:

FOR /D %%i IN (.\*) DO "C:\Program Files\7-Zip\7za920\7za.exe" a -tzip "%%~ni.zip" "%%i"

Но получаю такую структуру:

dir1.zip
--dir1
--- file1.txt
--- file2.csv
--dir2.zip
--- file3.txt
--- file4.csv

Как можно исправить?

Спасибо.
1 Gesperid
 
23.09.14
16:52
2 virtus
 
23.09.14
17:03
(1) там не то.

Там сжимаются именно папки. А мне нужны файлы в папках.
3 sintez1234
 
23.09.14
17:08
(2) нафина? Архивы? Жми папки просто.
4 EvgeniuXP
 
23.09.14
17:52
ну раз ты зашел на форум 1С, то отвечаю: пишешь в 1С-ке процедуру цикл по папкам, берешь каждую папку и в качестве параметра кидаешь ее в батник (но советую в cmd-шник - современнее) и т.д. - вот тебе и зипы :)

да, и в 8.3 можешь сразу zip-ом выдавать :)
5 virtus
 
24.09.14
11:27
разобрался, всем спасибо.


Может кому-то пригодиться:

FOR /D %%i IN (*) DO (
pushd "%%i"
"C:\Program Files\7-Zip\7za920\7za.exe" a -tzip "..\%%~ni.zip" *
popd
)
Ошибка? Это не ошибка, это системная функция.