XP Batch-filer Kopiera bilder från kamera till dator och organisera efter datum

Det här är ett snabbt recept om hur du skapar en batchfil som kopierar alla dina foton / videoklipp från en minnessticka eller kamera till datorns mina bildmappar (c: \ documents and settings \ userid \ my documents \ my pictures). den här batchfilen visar dig hur du ställer in en snabb och använder ett grundläggande om / då-uttalande.


TILLSÖK TEST FÖR ATT ANVÄNDA PÅ LIVE FILER!

Tja, jag gillar att organisera mina tusentals digitala mappar i en datortyp av hierarki. Jag använder ett år> specifikt datumformat. så ser min "Mina bilder" -mapp ut så här;

-[2003]
-[2004]
-[2005]
-[2006]

då i varje års mapp har jag dem namngivna i ett MM-DD-YYYY-format, dvs:
-[01-22-2006]
-[02-14-2006]
-[03-22-2006]
-[04-20-2006]
-[05-12-2006]

Jag bestämde mig för att jag idag var sjuk att gå in och göra hela min mapp med att skapa manuellt, så jag skrev en batchfil för att göra det här.

här är koden (kopiera och klistra in i anteckningsblocket, spara sedan filen som en textfil, sedan byta namn till en .bat-förlängning för att göra en batchfil, dvs namnet test.txt, byt namn på test.bat):

    @ECHO OFF
    @REM Författare: seamonkey420 Datum: 12/25/06
    @REM Detta är min anpassade exemplarfilfil för bilder.
    @REM Det skapar en ny mapp med dagens datum i mappen Mina bilder.
    @REM OBS! gör alltid en provkörning först! Du kan köra batchfilen från någon mapp eller sökväg
    @REM Ingen felkontroll är på plats, var noga med att skriva in banorna som D: eller J: om kameran
    @REM-drivenheten är också D eller J. Du kan lägga till dessa själv om du vill

    @REM Ställa in de globala variblen
    @REM användarkatalog är i princip vilken enhet din min dokumentmapp finns i
    @REM-default ska vara bra för de flesta människor w / normal xp installationer
    @REM cameraDrive är enheten för din kamera
    @REM-typen är typen av filer som kameran sparar dina bilder som de flesta är jpg
    @REM (används för att hitta mapp av vids på kamera)

    ECHO seamonkeys kamera till PC copy script
    ECHO ________________

    SET användarkatalog = C:
    SET-typ = jpg
    SET / P cameradrive = Ange Camera Drive Letter (dvs. D :) och tryck Enter:

    @REM Finns vad din användarid är för användarspridning och anger sedan användarvariabeln
    för / f "tokens = 3 delims = \" %% i in ("% USERPROFILE%") DO (set användare = %% i)

    @REM analyserar månad, dag och år i mm, dd, yyyy format för att skapa mappar av!

    FOR / F "TOKENS = 1 * DELIMS =" %% A IN ('DATUM / T') SET SET CDATE = %% B
    FOR / F "TOKENS = 1,2 eol = / DELIMS = /" %% A IN ('DATUM / T') SÄTT mm = %% B
    FOR / F "TOKENS = 1,2 DELIMS = / eol = /" %% A IN ("echo% CDATE%") DO SET dd = %% B
    FOR / F "TOKENS = 2,3 DELIMS = /" %% A IN ('echo% CDATE%') DO SET yyyy = %% B
    SET datum =% mm %% dd %% yyyy%

    @REM Skapa en mapp i mappen "Mina bilder" med [MM-DD-ÅÅÅÅ] -formatet
    @REM Ändrar också katalog till den nya mappen
    @REM -Jag använder ett år \ datum hierarki för att sortera bilder, så till exempel:
    @REM - [2006] \ [12-25-2006] \ dsc004.jpg, etc; håller det lätt att hitta via datum

    % Userfolder%
    CD\
    cd "Dokument och inställningar \% användare% \ Mina dokument \ Mina bilder"
    mkdir "[% yyyy%]"
    cd "[% åååå%]
    mkdir "[% mm% -% dd% -% åååå%]"
    cd "[% mm% -% dd% -% åååå%]"

    @REM Finns hela vägen där foton finns på kameran
    @REM och kopierar dem också till den nya mappen (begränsad till 2 undermappar,
    @REM måste du lägga till en tredjedel för uttalande om dina bilder är nästare djupare och ändra token till 4)

    % CameraDrive%
    FOR / F "TOKENS = 2 DELIMS = \" %% A IN ('dir / b / s *.% Typ%') DO SET p1 = %% A
    FOR / F "TOKENS = 3 DELIMS = \" %% A IN ('dir / b / s *.% Typ%') DO SET p2 = %% A
    CD "% p1% \% p2%"
    KOPIERING *. *% Användarkatalog%

    @REM Ta bort originalprompten och sedan åtgärder

    SET / P delete = Ta bort ursprungliga bilder från kameran (y / n)?

    IF / I "% delete%" == "y" GOTO delY
    IF / I "% delete%" == "n" GOTO delN

    : DELY
    % CameraDrive%
    del / q *. *
    explorer.exe "% userfolder% \ Documents and Settings \% user% \ Mina dokument \ Mina bilder \ [% yyyy%] \ [% mm% -% dd% -% yyyy%]"

    : delN
    explorer.exe "% userfolder% \ Documents and Settings \% användare% \ Mina dokument \ Mina bilder \ [% yyyy%] \ [% mm% -% dd% -% yyyy%]

efter att ha gjort en hel del skript i AIX och UNIX för mitt gamla jobb, fann jag att ett rent skrivet skript med massor av anmärkningar om vilka funktioner som gör hjälper dig på vägen och hjälper dig att undvika att glömma vad ett skript eller kommando faktiskt gör.

det här skriptet måste ändras om du inte använder standardbilden för mina bilder på din dator (dvs. om du flyttat din dokumentmapp till en annan plats, fungerar det här skriptet inte som det är).

gör följande

1. Det kommer att upplysa dig om vilken drivbrev din digitalkamera eller minneskort du kopierar från, var noga med att använda en kolan (dvs D:)

2a. Efter det kommer det att gå till din min mapp, skapa en mapp för det aktuella året i ett [yyyy] format (dvs. [2006]), och skapa sedan en ny mapp med dagens datum (dvs [12 -25-2006]).

2b. det kommer också att gå till din kamera / minnesticks rotationsstation och försöka hitta mappens plats där dina bilder sparas (det går bara 2 nivåer djupt, du kan lägga till en rad för att åtgärda detta problem om du har en djupare kapslade mappar som din kamera använder)

3. Det kopierar sedan alla filer på kameran / minneskortet till här.

4.äntligen kommer det att fråga dig om du vill ta bort originalfilerna från kamerans / minnestickan och öppna sedan mappen till var bilderna kopierades till på din dator.

-Tips:
Om din kamera sparar filer som tvister eller bmp, ändrar du "SET type = jpg" till tiff eller bmp.
-förändra ECHO OFF till ECHO ON för att se fel eller utdata om du har problem med att köra manuset. Lägg också till en pauskommando i slutet så att du helt kan analysera vad manuset gör.
-Du kan köra det här skriptet från vilken plats som helst och det borde tolka korrekt.
-läs min REM i batchfilen för att förklara vilka avsnitt som gör / är!