Scheme 使用Racket访问文件

Scheme 使用Racket访问文件,scheme,racket,Scheme,Racket,我想制作一个DrRacket程序,它可以复制给定目录中的所有文件(从USB摄像头上取下(当它插入时,它被视为大容量存储设备))并将它们粘贴到计算机硬盘上的文件夹中。无论出于何种原因,我无法理解DrRacket在计算机上的路径实现(即,对于Windows计算机上的桌面,它将是:C:\Users\Mike\Desktop),我阅读了帮助台,但仍然无法理解这一点。有没有关于我应该去哪里解决我的困惑的建议?我认为实现这个想法需要的函数调用是: (copy-directory/files src dst)

我想制作一个DrRacket程序,它可以复制给定目录中的所有文件(从USB摄像头上取下(当它插入时,它被视为大容量存储设备))并将它们粘贴到计算机硬盘上的文件夹中。无论出于何种原因,我无法理解DrRacket在计算机上的路径实现(即,对于Windows计算机上的桌面,它将是:
C:\Users\Mike\Desktop
),我阅读了帮助台,但仍然无法理解这一点。有没有关于我应该去哪里解决我的困惑的建议?我认为实现这个想法需要的函数调用是:

(copy-directory/files src dst)

在我弄明白这一点之后,我将为它开发一个GUI,这样它只需点击一个按钮即可运行。

您可能正在查找有关的内容。可以使用创建路径。不过,许多路径操纵函数也可以使用字符串。所以你应该可以说:

#lang racket
(copy-directory/files "C:\\Users\\Mike\\Desktop\\..." ...)

和。。。适当地替换。

如果您想知道为什么Racket会使这变得如此复杂,那么答案是给您一个跨平台的好处:例如,一种无需硬编码\or/即可描述路径的方法。但是,如果您不想获得这种好处,并且不介意硬编码到一个平台,那么可以使用字符串。请记住\是字符串文字中的转义字符(就像在C/C++中一样),因此您需要使用\\,如dyoo所示。