Strona główna › Forums › Oprogramowanie › RequestFile i cudzysłów
Orientuje się ktoś czy można w jakiś sposób zmusić komendę RequestFile do tego żeby zwracała ścieżkę do pliku, która nie jest ujęta w cudzysłów? Niestety potrzebuję ścieżki bez cudzysłowia żeby dorobić komendę "Extract to…" (rozpakuj do wskazanego katalogu) dla 7zip, który ma swoje małe dziwactwo.
Nie wiem czy o to dokładnie chodzi, ale ja zrobiłem tak:
-- Lua script for stripping quotes off RequestFile output
require('base')
require('ipc')
require('string')
require('io')
address('COMMAND')
rx('RequestFile >T:foo_rf')
f = io.open('T:foo_rf', 'r')
if f then
g = f:read('*l')
g = string.match(g, '"(.*)"')
print(g)
io.close(f)
end
Skrypt uruchamia się np. tak:
LuaX skrypt.lua
Można pójść za ciosem i od razu w skrypcie uruchomić 7zip. Morphosowa Lua ma tak jak ARexx, po wydaniu polecenia address(‘COMMAND’), poleceniem rx() można wywoływać komendy CLI.
Podobny skrypt mozna napisac w dosie.
Prostrze jest cos takiego:
echo `requestfile`
Apostrof ma byc w "druga strone"
Wynikiem dzialania ECHO bedzie sciezka dostepu do pliku – bez cudzyslowia
Analogicznie mozna zastosowac metode do archiwizera 7zip
Oba rozwiązania wcisnęły mnie w fotel. 🙂 Dzięki wielkie. Spróbuję z tym ECHO, a skrypt przekonuje mnie do tego, że chyba warto dotknąć Lua, bo taki język skryptowy w systemie to wręcz skarb.
A tak swoją drogą to nie bardzo kumam dlaczego to ECHO sprawia, że cudzysłów znika (sprawdziłem – faktycznie tak jest). 🙂
A tak swoją drogą to nie bardzo kumam dlaczego to ECHO sprawia, że cudzysłów znika (sprawdziłem – faktycznie tak jest). 🙂
To nie ECHO tylko apostrofy (te inne)
Powoduja one ze wykonywana jest komenda w nim zawarta a wynik (tutaj ECHO) wypisuje go do CLI.
Np
lha a ram:archiwum `requestfile`
po wykonaniu tej linijki do archiwum.lha zostanie spakowany plik wybrany w requestfile
po wykonaniu tej linijki do archiwum.lha zostanie spakowany plik wybrany w requestfile
No tak, to kumam. Używam tego RequestFile. Nie rozumiem tylko dlaczego razem z ECHO RequestFile zwraca nazwę wybranego pliku bez cudzysłowia, a normalnie z cudzysłowiem.
po wykonaniu tej linijki do archiwum.lha zostanie spakowany plik wybrany w requestfile
No tak, to kumam. Używam tego RequestFile. Nie rozumiem tylko dlaczego razem z ECHO RequestFile zwraca nazwę wybranego pliku bez cudzysłowia, a normalnie z cudzysłowiem.
Na to jest prosta odpowiedz 🙂
ECHO test
i
ECHO "test"
daje ten sam wynik: – test – bez cudzyslowia
Jesli nie chcesz korzystac z ECHO to mozesz wynik requestfile wyslac do zmiennej srodowiskowej i odczytaj ja juz w 7zip za pomoca $zmienna.
Rowniez wtedy cudzyslowia znikaja "automagicznie"
Jesli nie chcesz korzystac z ECHO to mozesz wynik requestfile wyslac do zmiennej srodowiskowej i odczytaj ja juz w 7zip za pomoca $zmienna.
Rowniez wtedy cudzyslowia znikaja "automagicznie"
No faktycznie! Jakie to proste. 🙂 No i faktycznie można byłoby do tego użyć zmiennej środowiskowej. Dzięki za uświadomienie.
Copyright 2014 - Wszelkie prawa zastrzeżone MorphOS.pl