---
title: "remove"
description: "删除可写虚拟路径对应的文件，或清除用户选择的文件句柄。"
---


> 删除可写虚拟路径对应的文件，或清除用户选择的文件句柄。

## 签名

```ts
KSM.fs.remove(args: {
  path: string;
}): Promise<{ removed: boolean }>
```

## 平台与权限

| Windows | Android |权限 |
| --- | --- | --- |
|支持 |支持 | `fs.remove` |

## 参数

|参数 |类型 |必填 |说明 |
| --- | --- | --- | --- |
| `path` | `string` |是 |可写虚拟路径或有效 picked 句柄 |

## 返回值

|字段 |类型 |说明 |
| --- | --- | --- |
| `removed` | `boolean` |资源是否被删除 |

## 行为

- 可删除根是 `data`、`cache`、`tmp` 和 `picked`。
- `app://res` 与 `app://assets` 返回 `PERMISSION_DENIED`。
- 普通虚拟根用于删除宿主文件，不承诺递归删除目录。
- Windows 删除 picked 文件时同时移除句柄映射。
- Android 删除 picked 文件时先尝试 `DocumentsContract.deleteDocument()`，
再尝试 `ContentResolver.delete()`；成功后移除句柄映射。
- 目标不存在时返回 `{ removed: false }`，不是 `NOT_FOUND`。

## 示例

```ts
const { removed } = await KSM.fs.remove({
  path: 'app://cache/preview.json'
});

if (!removed) {
  console.info('文件不存在或删除被拒绝');
}
```

## 错误

|错误 |场景 |
| --- | --- |
|普通 `TypeError` |路径未通过前端守卫 |
| `PERMISSION_DENIED` |只读根、越权路径或权限不可用 |
| `NOT_SUPPORTED` |对应文件服务未配置 |
| `TIMEOUT` |宿主未在默认时间内响应 |

## 相关

- [exists](/docs/kasumi/api/fs/exists)
- [fs 模块](/docs/kasumi/api/fs)