tmp_dir <- tempdir()
zip_file <- file.path(tmp_dir, "24kuikishape.zip")
zip_dir  <- file.path(tmp_dir, "24kuikishape")
download.file("http://www.city.osaka.lg.jp/contents/wdu090/opendata/mapinfo/24kuikishape.zip",
              destfile = zip_file)

unzip="unzip"

これはむり。 たぶんここに引っかかってるのでunzip()のバグ。。(Windows以外ならinvisibleを指定しないようにしないといけないはず)

tryCatch(
  unzip(zip_file, exdir = zip_dir, unzip = "unzip"),
  error=function(e) print(e)
)
## arguments 'minimized' and 'invisible' are for Windows only

unzip="unzip -Ocp932"

これはむり。

tryCatch(
  unzip(zip_file, exdir = zip_dir, unzip = "unzip -Ocp932"),
  error=function(e) print(e)
)
## arguments 'minimized' and 'invisible' are for Windows only

unzip="unzip"でlist

これはいけました。(ただし文字化け)

tryCatch(
  unzip(zip_file, exdir = zip_dir, list = TRUE, unzip = "unzip"),
  error=function(e) print(e)
)
##               Name Length                Date
## 1     24ЛцЙцСЬ.dbf   8210 2014-11-28 11:10:00
## 2     24ЛцЙцСЬ.prj    398 2014-11-28 11:06:00
## 3     24ЛцЙцСЬ.sbn    348 2014-11-28 11:10:00
## 4     24ЛцЙцСЬ.sbx    132 2014-11-28 11:10:00
## 5     24ЛцЙцСЬ.shp 318424 2014-11-28 11:10:00
## 6 24ЛцЙцСЬ.shp.xml   6953 2014-11-28 11:06:00
## 7     24ЛцЙцСЬ.shx    292 2014-11-28 11:10:00

ちなみに、厄介なことに、unzip="unzip"を指定しないとまた別の化け方をしています。。

unzip(zip_file, exdir = zip_dir, list = TRUE)
##                       Name Length                Date
## 1     24\x8b\xe6\x89摜.dbf   8210 2014-11-28 11:10:00
## 2     24\x8b\xe6\x89摜.prj    398 2014-11-28 11:06:00
## 3     24\x8b\xe6\x89摜.sbn    348 2014-11-28 11:10:00
## 4     24\x8b\xe6\x89摜.sbx    132 2014-11-28 11:10:00
## 5     24\x8b\xe6\x89摜.shp 318424 2014-11-28 11:10:00
## 6 24\x8b\xe6\x89摜.shp.xml   6953 2014-11-28 11:06:00
## 7     24\x8b\xe6\x89摜.shx    292 2014-11-28 11:10:00

unzip="unzip -Ocp932"でlist

これはsh: 1: unzip -Ocp932: not foundって出るので、unzip -Ocp932でひとつのコマンドとみなされてダメっぽいです。

tryCatch(
  unzip(zip_file, exdir = zip_dir, list = TRUE, unzip = "unzip -Ocp932"),
  error=function(e) print(e)
)
## <simpleError in system2(unzip, c("-l", shQuote(zipfile)), stdout = TRUE, env = c("TZ=UTC")): error in running command>

session info

devtools::session_info()
## Session info --------------------------------------------------------------
##  setting  value                       
##  version  R version 3.2.0 (2015-04-16)
##  system   x86_64, linux-gnu           
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  tz       <NA>
## Packages ------------------------------------------------------------------
##  package   * version  date       source                           
##  bitops      1.0-6    2013-08-17 CRAN (R 3.2.0)                   
##  devtools    1.8.0    2015-05-09 CRAN (R 3.2.0)                   
##  digest      0.6.8    2014-12-31 CRAN (R 3.2.0)                   
##  evaluate    0.7      2015-04-21 CRAN (R 3.2.0)                   
##  git2r       0.10.1   2015-05-07 CRAN (R 3.2.0)                   
##  htmltools   0.2.6    2014-09-08 CRAN (R 3.2.0)                   
##  knitr       1.10.5   2015-05-06 CRAN (R 3.2.0)                   
##  magrittr    1.5      2015-04-19 Github (smbache/magrittr@89f143d)
##  memoise     0.2.1    2014-04-22 CRAN (R 3.2.0)                   
##  RCurl       1.95-4.6 2015-04-24 CRAN (R 3.2.0)                   
##  rmarkdown   0.6.1    2015-05-07 CRAN (R 3.2.0)                   
##  rversions   1.0.0    2015-04-22 CRAN (R 3.2.0)                   
##  stringi     0.5-1    2015-04-24 Github (Rexamine/stringi@9cae01e)
##  stringr     1.0.0    2015-04-30 CRAN (R 3.2.0)                   
##  XML         3.98-1.1 2013-06-20 CRAN (R 3.2.0)                   
##  yaml        2.1.13   2014-06-12 CRAN (R 3.2.0)