如何使用 R 将复杂的字符串交给 CMD?

How to hand over complex string to CMD using R?

为了对图像进行地理配准,我想使用 system() 通过 R 将复杂的字符串传递给命令行。可惜我到现在都没能解决问题。

我想将以下字符串移交给CMD行: gdal_translate -of GTIFF -GCP 0.0 0.0 5.50000 5.80000 -GCP 1.0 949.0 5.20000 4.40000 -GCP 1024.0 949.0 949.0 6.50000 4.20000 -GCP 1024.0 -GCP 1024.0 1.0 1.0 6.70000 6.70000 5.60000 5.60000 [= 22 = 23 = 23 = 23 = 23 =]

问题似乎是,我在该字符串中包含空格和引号。我已经尝试过 paste()paste0() 但都失败了。

system(command = paste(gdal_translate -of GTiff -gcp 0.0 0.0 5.50000 5.80000 -gcp 1.0 949.0 5.20000 4.40000 -gcp 1024.0 949.0 6.50000 4.20000 -gcp 1024.0 1.0 6.70000 5.60000 "D:/User_1/01_test_data/dataset.flt" "C:/Users/User_1/AppData/Local/Temp/dataset.flt"))

Error: unexpected symbol in "system(command = paste(gdal_translate -of GTiff"

你有什么建议,如何解决这个问题?

问题是你的字符串周围没有 "。做:

system(command = "gdal_translate -of GTiff -gcp 0.0149883 0.0166216 5.47596 5.81301 -gcp 8.25477e-06 949 5.20347 4.39893 -gcp 1024 949 6.46477 4.23317 -gcp 1024 2.68374e-07 6.73943 5.64718 'D:/User_1/01_test_data/dataset.flt' 'C:/Users/User_1/AppData/Local/Temp/dataset.flt'")