我正在尝试验证inputdialog中给出的路径。
"a = path to file p.e. d:\mydoc.txt (but can be every file)
let a = inputdialog(docinput)
while 1
try
read (a)
catch /E484:/
echo "The file doesn't exist"
let a = inputdialog(docinput,a,"return")
if a == "return"
return
endif
endtry
endwhile
我想使用read
命令检查文件名是否存在
但似乎read
无法读取变量
read
必须是这样的:
read d:\mydoc.txt
1)如何阅读变量?
如果read
给出错误消息(E484(无法读取文件)),脚本必须返回输入对话框。
我尝试在while / endwhile循环中使用try / endtry执行此操作,但我还没有找到如何突破循环。
2)如果文件不存在,如何将脚本返回到inputdialog?
答案 0 :(得分:1)
您必须使用:execute
:read
变量a
中包含的文件名:
execute "read " . a
:read
是错误的工作工具,请使用filereadable()
(或filewriteable()
,具体取决于您要对该文件执行的操作):
if filereadable(expand(a))
" do something
else
" do something else
endif
我无法理解你的第二个问题。