Har en liten bat fil på jobbet som skickar ett txt dokument över nätverket till en nätverksskrivare, detta beroro på att dos-baserade program måste skriva till LPT. Inga problem då vi skriver ut till fil och har en bat-fil som skickar det till rätt ställe. Används som så att bat-filen finns i "Sent to" mappen och sedan bara högerklickar man på filen man vill skriva ut och Skicka till denna bat-fil, funkar jättebra om inte det finns mellanslag i sökvägen.
Upptäckte idag till min förtvivlan att det skiter sig om filen ligger tex i Mina Dokument eller på skrivbordet som har sökvägen "Dokument and settings".
Varför det skiter sig beror på att i batfilen används
%1
och då hämtar vi första delen ex: C:\Mina
Men i denna värld så borde det vara C:\minado~1\
Långa filnamn och sökvägar är inga problem.
Kan man få till detta per automatik tro???
GunnarDMedlem sedan juni 20014 290 inlägg Har du provat med att skriva "%1" ?
/red: Följande kod borde fungera:
@echo off
echo "%*"
Nästan bra!
Så här ser bat filen ut i sin helhet efter ditt exempel:
if "%1"=="" goto slut
if not exist %1 goto slut
print /sökväg_till_skrivare %*
:slut
Problemet är vad vi kommit fram till är att mellanslagen ställer till det vid argumenten.
Tror att det inte går att lösa mer än lägga utskriftsfilen på ett annat ställe.
Nexus86Medlem sedan okt. 20023 030 inlägg Går det inte med
if "%1"=="" goto slut
if not exist "%1" goto slut
print /sökväg_till_skrivare "%*"
:slut
?
GunnarDMedlem sedan juni 20014 290 inlägg Så här då?
if "%1"=="" goto slut
if not exist "%*" goto slut
print /sökväg_till_skrivare "%*"
:slut
GunnarDMedlem sedan juni 20014 290 inlägg Sista försöket, fungerar detta?
print /sökväg_till_skrivare "%*"
Alltså ingen kontroll om argumentet finns eller filen finns.
Fungerar om sökvägen inte innehåller mellanslag.
Fungerar EJ om mellanslag finns.
Ärligt talat så tror jag inte det går, får försöka att komma ihåg detta och lägga filerna för utskrift så att det funkar.
Tack ändå :bire