Gå til innhold

batch-scripting, behandling av fil/mapper med spesialtegn i navn


Anbefalte innlegg

Hei, jeg bruker følgende batch-script for å overføre nedlastinger

 

@echo off
set ftpuser=xxx
set ftppass=yyy
set ftphost=zzz
cd\
C:
echo PARAMS:
echo.1=%1
echo.2=%2
echo.3=%3
echo.4=%4
echo.5=%5
rem Directory
set bdir=%2
set bdir=%bdir:~3,-1%
set bdir=%bdir:\=/%
set bdir=/cygdrive/c%bdir: =\ %
rem Name/Title of downloaded media
set nm=%3
set nm=%nm:~1,-1%
set nm=%nm: =\ %
rem Media Label/category
set lbl=%4
rem Filename for single file downloads
set fn=%5
set fn=%fn:~1,-1%
set fn=%fn: =\ %
set strf=%bdir%/%fn%
set sd=%date% %time%
rem scriptet tryner et eller annet sted etter denne linja
IF %1 == single (
echo.
echo.SRC:%strf%
echo.
C:\Utils\lftp\lftp ftp://%ftpuser%:%ftppass%@%ftphost% -e "set ftp:nop-interval 1; set net:timeout 5; cd /%lbl%; put %strf%; quit"
) ELSE (
echo.
echo.SRC:%bdir%
echo.DST:/%lbl%/%nm%
echo.
C:\Utils\lftp\lftp ftp://%ftpuser%:%ftppass%@%ftphost% -e "set ftp:nop-interval 1; set net:timeout 5; mirror -R -v --parallel=3 --depth-first %bdir% /%lbl%/%nm%; quit"
)
echo.
echo Name : %nm%
echo.
echo Start: %sd%
echo End  : %date% %time%

Space i filnavn er erstattet med slash foran space, ellers tryner lftp.

 

Her er et eksempel på output som feiler, her er det batch-scriptet i seg selv som feiler, den liker ikke at mappenavnet har paranteser i seg.

PARAMS:
1=multi
2="C:\Download\Finished\games\Cool game (freeware)"
3="Cool game (freeware)"
4=games
5="game0.pak"
\ was unexpected at this time.

 

Noen som ser en løsning på dette?

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...