如何将UNIX路径转换为DOS路径

时间:2010-12-22 00:44:36

标签: perl unix dos

需要使用正则表达式或其他方法将UNIX路径转换为DOS路径。

我有

C:/My Document/Photo.gif

需要

C:\My Document\Photo.gif

5 个答案:

答案 0 :(得分:8)

#!/usr/bin/perl

use strict; use warnings;
use File::Spec::Win32;

print File::Spec::Win32->canonpath('C:/My Document/Photo.gif'), "\n";

答案 1 :(得分:4)

这是正则表达式

s/\//\\/g

答案 2 :(得分:2)

首先,除非您要通过cmd.exe调用某些内容,否则通常不需要执行该映射; Windows API对文件名中的斜杠而不是反斜杠非常满意(但是cmd.exe坚持斜杠启动一个选项)。

然后,你问题的直接答案可能是:

my $file = "C:/My Documents/Photo.gif";
$file =~ s{/}{\\}g;
print "$file\n";

答案 3 :(得分:1)

只需将/替换为\即可。虽然我必须指出你可以在Windows中使用正斜杠。

答案 4 :(得分:-1)

有点多余,但你可以使用tr而不是正则表达式:

tr!\\!/!;