# Convert

> Learn how to apply a script to many files and extract the output.

Converts a set of files, separately, using a script.

```bash
npx genaiscript convert <script> "<files...>"
```

where `<script>` is the id or file path of the tool to run, and `<files...>` is the name of the spec file to run it on. Unlike `run` which works on all files at once, `convert` processes each file individually.

## Files

[Section titled “Files”](#files)

`convert` takes one or more [glob](https://en.wikipedia.org/wiki/Glob_\(programming\)) patterns to match files in the workspace.

```bash
npx genaiscript run <script> "**/*.md" "**/*.ts"
```

### —excluded-files \<files…>

[Section titled “—excluded-files \<files…>”](#excluded-files-files)

Excludes the specified files from the file set.

```sh
npx genaiscript convert <script> <files> --excluded-files <excluded-files...>
```

### —exclude-git-ignore

[Section titled “—exclude-git-ignore”](#exclude-git-ignore)

Exclude files ignored by the `.gitignore` file at the workspace root.

```sh
npx genaiscript convert <script> <files> --exclude-git-ignore
```

## Output

[Section titled “Output”](#output)

The output of each file is saved to a new or existing file. You can control the logic to decide which part of the output to save where to save it. By default, a conversion result of a file `<filename>` is saved to a file `<filename>.genai.md`.

### —suffix \<suffix>

[Section titled “—suffix \<suffix>”](#suffix-suffix)

The `--suffix` option allows you to specify a suffix to append to the output file name.

```sh
npx genaiscript convert <script> <files> --suffix .genai.txt
```

GenAIScript will “unfence” output in the markdown that match the suffix (after `.genai`) automatically. So if the LLM generates

````markdown
```txt
:)
```
````

The converted content in `<filename>.genai.txt` will be `:)`.

### —rewrite

[Section titled “—rewrite”](#rewrite)

This flag override `suffix` and tells GenAIScript to rewrite the original file with the converted content.

```sh
npx genaiscript convert <script> <files> --rewrite
```

### —cancel-word \<word>

[Section titled “—cancel-word \<word>”](#cancel-word-word)

Specify the “ignore output, nothing to see here” keyword using the `-cw` flag.

```sh
npx genaiscript convert <script> <files> --cancel-word "<NO>"
```

## Read more

[Section titled “Read more”](#read-more)

The full list of options is available in the [CLI reference](/genaiscript/reference/cli/commands#convert).