2011-08-17 21 views
5

Używam funkcji choose.dir() w skrypcie uruchamianym z programem rscript.exe w systemie Windows XP. Problem polega na tym, że okno dialogowe wyboru katalogu nie pojawia się jako okno najwyższego poziomu. Jak mogę wprowadzić dialog na pierwszy plan?jak ustawić okno dialogowe choose.file() na pierwszym planie

W międzyczasie rozwiązałem swój problem za pomocą wizualnego skryptu podstawowego. Oczywiście, to działa tylko z oknami:

tf <- tempfile(fileext = '.vbs') 
cat('Set folder = CreateObject("Shell.Application") _ 
     .BrowseForFolder(0, "Please choose a folder" _ 
     , &H0001, 17) 
     Wscript.Echo folder.Self.Path 
', file = tf) 
tail(shell(paste('Cscript', tf), intern = T), 1) 
+0

Wielkie dzięki za rozwiązanie ** vbs **! Mam taki sam problem z 'choose.file()'. Czy możesz zaoferować ** kod ** ** dla tego? –

Odpowiedz

1

Po przeszukaniu archiwów rhelp wydaje się, że odpowiedź jest taka, że ​​nie można używać choose.dir i file.choose w nieinterakcyjnym sesji. Być może będziesz w stanie zrobić coś podobnego, ponieważ do zbierania informacji można użyć list.files, file.info, , i files, możesz wyświetlić to, pisząc do urządzenia graficznego i wykonując wywołanie system(), aby je wyświetlić, a linie odczytu mogą być używane do wprowadzania danych przez użytkownika.

Powiązane problemy