I decided to post this answer which does use a regular expression.
^(?:[a-zA-Z]:|\\[w.]+\[w.$]+)\(?:[w]+\)*w([w.])+$
Works for these:
\testest$TEST.xls
\serversharefoldermyfile.txt
\serversharemyfile.txt
\123.123.123.123sharefoldermyfile.txt
c:foldermyfile.txt
c:foldermyfileWithoutExtension
Edit: Added example usage:
if (Regex.IsMatch (text, @"^(?:[a-zA-Z]:|\\[w.]+\[w.$]+)\(?:[w]+\)*w([w.])+$"))
{
// Valid
}
*Edit: * This is an approximation of the paths you could see. If possible, it is probably better to use the Path class or FileInfo class to see if a file or folder exists.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…