2011-09-03, 16:04
  #1
Medlem
Om jag vill packa upp samtliga .zip'ade filer som ligger nedpackade i X antal under directoryn till katalogen före dom är packade i hur går man tillväga då?

Ex.

C:\temp\test1\1\1.zip
C:\temp\test1\2\2.zip

ska packas upp till C:\temp\test1
medans
C:\temp\test2\1\1.zip
c:\temp\test2\2\2.zip

ska placeras i C:\temp\test2

Jag har alltså runt ~100 olika dirs som de ska packas upp till så att göra det manuellt och pecka vart de ska packas upp till blir jobbigt, men kontentan är att alla zippade filer ska packas upp till katalogen före de är packade till ".."

Nån som har någon bra ide?
Citera
2011-09-03, 17:29
  #2
Medlem
TorrentLovers avatar
Packa upp test1 till test1, och test2 till test2?
Citera
2011-09-03, 17:36
  #3
Medlem
Citat:
Ursprungligen postat av TorrentLover
Packa upp test1 till test1, och test2 till test2?

?

Jag vill packa upp filer i underdirs till katalogen innan på 100 mappar utan att göra det manuellt dir för dir.
Citera
2011-09-03, 17:49
  #4
Medlem
salxars avatar
Citat:
Ursprungligen postat av sn0wman
?

Jag vill packa upp filer i underdirs till katalogen innan på 100 mappar utan att göra det manuellt dir för dir.
Markera alla filer, högerklicka och välj sen packa upp till "*\" vad händer då?
__________________
Senast redigerad av salxar 2011-09-03 kl. 18:06.
Citera
2011-09-03, 20:42
  #5
Medlem
Har dessvärre inget sådant val eftersom allt markerat bara är mappar, i mapparna ligger det sedan underkataloger och det där där alla filerna ligger som jag vill packa upp.

Tänk dig scenariot att du har 100st mappar. i varje mapp finns det 1 eller 2 kataloger i denna katalog ligger det en fil som är packad, och du vill packa upp samtliga utan att gå in på mapp efter mapp det är vad jag försöker uppnå.
Citera
2011-09-03, 20:47
  #6
Medlem
Andreasvbs avatar
Då måste du göra t.ex. ett .bat-skript.

Varför inte göra om det från början med alla .zip-filer i samma mapp, så du får det rätt istället?
Citera
2011-09-03, 23:33
  #7
Medlem
bat vbs eller annan programvara vad som helst som löser problemet. jag orkar inte sitta o gå igenom alla hundratals kataloger och packa upp dem manuellt helt enkelt.
Citera
2011-09-03, 23:39
  #8
Medlem
Andreasvbs avatar
Det är ingen "programvara" i sig, du får koda, helt enkelt.

Eller så gör du rätt från början.
Citera
2011-09-04, 00:11
  #9
Medlem
Xexys avatar
Citat:
Ursprungligen postat av sn0wman
Om jag vill packa upp samtliga .zip'ade filer som ligger nedpackade i X antal under directoryn till katalogen före dom är packade i hur går man tillväga då?

Ex.

C:\temp\test1\1\1.zip
C:\temp\test1\2\2.zip

ska packas upp till C:\temp\test1
medans
C:\temp\test2\1\1.zip
c:\temp\test2\2\2.zip

ska placeras i C:\temp\test2

Jag har alltså runt ~100 olika dirs som de ska packas upp till så att göra det manuellt och pecka vart de ska packas upp till blir jobbigt, men kontentan är att alla zippade filer ska packas upp till katalogen före de är packade till ".."

Nån som har någon bra ide?

Skapa en bat-fil, namge den till vad som helst, exempelvis ZipAll.bat. I denna fil lägger du till följande:

Kod:
@echo off

setlocal enableextensions enabledelayedexpansion

path=%PATH%

set root=%1
set root=%root:~%1
set root=%root:~0,-1%

for /F "delims==" %%d in ('dir /ogne /ad /b /s %root%') do (
    echo Traitement du dossier : "%%d"

    for /F "delims==" %%f in ('dir /b "%%d\*.zip"') do (
        rem Processing.
        set subfolder=~n%f
        mkdir "%%d\%subfolder%"
        rem Extract...
        7za.exe e "%%d\%%f" -o"%%d\%subfolder%"
    )
)

:Eof

endlocal

Kör sedan filen från DOS såhär: ZipAll.bat "C:\dinstartmapp"
__________________
Senast redigerad av Xexy 2011-09-04 kl. 00:18.
Citera
2011-09-04, 00:34
  #10
Medlem
Citat:
Ursprungligen postat av Xexy
Skapa en bat-fil, namge den till vad som helst, exempelvis ZipAll.bat. I denna fil lägger du till följande:

Kod:
@echo off

setlocal enableextensions enabledelayedexpansion

path=%PATH%

set root=%1
set root=%root:~%1
set root=%root:~0,-1%

for /F "delims==" %%d in ('dir /ogne /ad /b /s %root%') do (
    echo Traitement du dossier : "%%d"

    for /F "delims==" %%f in ('dir /b "%%d\*.zip"') do (
        rem Processing.
        set subfolder=~n%f
        mkdir "%%d\%subfolder%"
        rem Extract...
        7za.exe e "%%d\%%f" -o"%%d\%subfolder%"
    )
)

:Eof

endlocal

Kör sedan filen från DOS såhär: ZipAll.bat "C:\dinstartmapp"

tackar!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in