Как написать батник?
☑
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
)
Ошибка? Это не ошибка, это системная функция.