如何在R语言中将.txt文件转为Windows可识别的.url网页快捷方式?
在R中创建Windows可识别的网页快捷方式
问题背景
我通过R代码创建了一个文本文件:
myFile<-file("toGoogle.txt") writeLines(c("[InternetShortcut]","URL=http://www.google.com","IconFile=http://www.google.com/favicon.ico", "IconIndex=0"), myFile) close(myFile)
该文件的内容为:
[InternetShortcut] URL=http://www.google.com IconFile=http://www.google.com/favicon.ico IconIndex=0
手动将此文件重命名为toGoogle.url并确认后,它能正常作为网页快捷方式使用。但使用R的file.rename()或其他函数修改扩展名时,生成的却是目标为空的无效快捷方式,打开时会弹出错误提示。
解决方法
方法1:直接生成.url文件
无需先创建txt再重命名,直接创建.url格式的文件,Windows会直接识别:
# 定义快捷方式路径和内容 shortcut_path <- "toGoogle.url" shortcut_content <- c( "[InternetShortcut]", "URL=http://www.google.com", "IconFile=http://www.google.com/favicon.ico", "IconIndex=0" ) # 写入内容到.url文件 writeLines(shortcut_content, con = shortcut_path)
生成的文件可直接作为有效网页快捷方式使用。
方法2:调用Windows系统命令重命名
如果必须先创建txt文件,可通过调用Windows的ren命令完成重命名,效果与手动操作一致:
# 创建txt文件 myFile <- file("toGoogle.txt") writeLines(c("[InternetShortcut]","URL=http://www.google.com","IconFile=http://www.google.com/favicon.ico","IconIndex=0"), myFile) close(myFile) # 调用系统命令重命名 shell('ren "toGoogle.txt" "toGoogle.url"')
问题原因
R内置的file.rename()函数在修改文件扩展名时,未触发Windows对.url文件的类型关联识别逻辑,导致系统无法正确解析文件内容。而直接创建.url文件或使用系统命令重命名,能让Windows正确识别文件类型和内部的快捷方式配置。
内容的提问来源于stack exchange,提问作者Adrarc
相关产品推荐
相关产品推荐

