1WIMEXTRACT(1) User Commands WIMEXTRACT(1)
2
3
4
6 wimextract - Extract files from a WIM image
7
9 wimextract WIMFILE IMAGE [(PATH | @LISTFILE)...] [OPTION...]
10
12 wimextract, or equivalently wimlib-imagex extract, extracts one or more
13 files or directory trees from the specified IMAGE contained in the Win‐
14 dows Imaging (WIM) archive WIMFILE.
15
16 wimextract is intended for extracting only a subset of a WIM image. If
17 you want to extract or "apply" a full WIM image to a directory or NTFS
18 volume, use wimapply(1) instead.
19
20 IMAGE specifies the image in WIMFILE from which to extract the files or
21 directory trees. It may be the 1-based index of an image or the name
22 of an image. It may be omitted if WIMFILE contains only one image.
23 You can use wiminfo(1) to list the images contained in WIMFILE.
24
25 If no additional arguments are given, the entire WIM image is ex‐
26 tracted. Otherwise, each additional argument is interpreted as a PATH
27 if it does not begin with the '@' character, or a LISTFILE if it does.
28 Each PATH specifies a file or directory tree within the WIM image to
29 extract, whereas each LISTFILE specifies a file that itself contains a
30 list of paths to extract. If a LISTFILE is "-" (i.e. the whole argu‐
31 ment is "@-"), then the listfile is read from standard input. See
32 PATHS AND LISTFILES for more details.
33
34 By default, files and directories are extracted to the current direc‐
35 tory. Use --dest-dir to select a different destination directory. Al‐
36 ternatively, use --to-stdout to extract a file to standard output to
37 pipe into another program.
38
39 A file or directory extracted from a PATH argument is by default ex‐
40 tracted directly into the destination directory, whereas a file or di‐
41 rectory extracted from a LISTFILE argument is by default extracted into
42 the destination directory in such a way that the archive's directory
43 structure is preserved. Use --preserve-dir-structure to always get the
44 latter behavior.
45
46 wimextract supports extracting files and directory trees from stand-
47 alone WIMs as well as split WIMs. See SPLIT WIMS.
48
50 Each path, including those on the command line and those in listfiles,
51 must be specified as an absolute path starting from the root of the WIM
52 image, like those output by wimdir(1). However, path separators may be
53 either forward or backward slashes, and the leading slash is optional.
54
55 On Windows, by default paths are treated case-insensitively, whereas on
56 UNIX-like systems, by default paths are treated case-sensitively. In
57 either case, the default behavior may be overridden through the WIM‐
58 LIB_IMAGEX_IGNORE_CASE environmental variable, as documented in wimlib-
59 imagex(1).
60
61 By default, each path may contain the wildcard characters '?' and '*'.
62 The '?' character matches any non-path-separator character, whereas
63 the '*' character matches zero or more non-path-separator characters.
64 Consequently, a single wildcard path, or "glob", may expand to multiple
65 actual files or directories. Use the --no-globs option to disable
66 wildcard matching and search for each path literally.
67
68 Each LISTFILE must be a text file (UTF-8 or UTF-16LE encoded; plain
69 ASCII is also fine) that contains a list of paths to extract, one per
70 line. Wildcard characters are allowed by default. The following
71 demonstrates an example listfile:
72
73 ; This is a comment (begins with semicolon)
74 # This is also a comment (begins with number sign)
75 /Users
76 /Windows/explorer.exe
77 /Windows/System32/en-US/*
78
79 ; Both forward and backslashes are valid.
80 ; It's not necessary to quote paths containing internal spaces.
81 \Program Files\A*
82
83 ; Leading and trailing whitespace is ignored
84 \Windows\notepad*
85
86
88 You may use wimextract to extract files or directory trees from a split
89 WIM. This uses the --refs="GLOB" option in the same way as in other
90 commands such as wimapply. See wimapply(1) for more details.
91
93 --check
94 Before extracting the files, verify the integrity of WIMFILE if
95 it contains extra integrity information.
96
97 --ref="GLOB"
98 File glob of additional WIMs or split WIM parts to reference re‐
99 sources from. See SPLIT_WIMS. Note: GLOB is listed in quotes
100 because it is interpreted by wimextract and may need to be quoted
101 to protect against shell expansion.
102
103 --dest-dir=DIR
104 Extract the files and directories to the directory DIR instead of
105 to the current working directory.
106
107 --to-stdout
108 Extract the files to standard output instead of to the filesys‐
109 tem. This can only be provided if all the specified paths are to
110 regular files (not directories or reparse points). If present,
111 named data streams are not extracted.
112
113 --unix-data
114 See the documentation for this option to wimapply(1).
115
116 --no-acls
117 See the documentation for this option to wimapply(1).
118
119 --strict-acls
120 See the documentation for this option to wimapply(1).
121
122 --no-attributes
123 See the documentation for this option to wimapply(1).
124
125 --include-invalid-names
126 See the documentation for this option to wimapply(1).
127
128 --no-globs
129 Do not recognize wildcard characters in paths. Each path will be
130 searched for literally. In addition, if case insensitivity is
131 enabled, do not allow a single path to match multiple files with
132 the same case-insensitive name but different case-sensitive
133 names.
134
135 --no-wildcards is also accepted as an alias for this option.
136
137 --nullglob
138 If a glob does not match any files, ignore it and print a warning
139 instead of failing with an error. In other words, this option
140 allows a glob to successfully match zero files.
141
142 This option also affects paths that do not contain wildcard char‐
143 acters, since such paths are still considered globs unless --no-
144 globs is enabled. If case-insensitivity is enabled, such a glob
145 could match multiple files with the same case-insensitive name
146 but different case-sensitive names, whereas a non-glob path (with
147 --no-globs) can match at most one file.
148
149 --preserve-dir-structure
150 When extracting paths, preserve the archive directory structure
151 instead of extracting the file or directory tree named by each
152 path directly to the destination directory. Note: --preserve-
153 dir-structure is already the default behavior for paths in list‐
154 files, but not paths directly specified on the command line.
155
156 --wimboot
157 See the documentation for this option to wimapply(1).
158
159 --compact=FORMAT
160 See the documentation for this option to wimapply(1).
161
162 --recover-data
163 See the documentation for this option to wimapply(1).
164
166 See wimapply(1) for information about what data and metadata are ex‐
167 tracted on UNIX-like systems versus on Windows.
168
169 Reparse-point fixups (a.k.a. changing absolute symbolic links and junc‐
170 tions to point within the extraction location) are never done by wimex‐
171 tract. Use wimapply if you want this behavior.
172
173 Unlike wimapply, wimextract does not support extracting files directly
174 to an NTFS volume using libntfs-3g.
175
177 Extract a file from the first image in "boot.wim" to the current direc‐
178 tory:
179
180 wimextract boot.wim 1 /Windows/System32/notepad.exe
181
182 Extract a file from the first image in "boot.wim" to standard output:
183
184 wimextract boot.wim 1 /Windows/System32/notepad.exe --to-stdout
185
186 Extract a file from the first image in "boot.wim" to the specified di‐
187 rectory:
188
189 wimextract boot.wim 1 /Windows/System32/notepad.exe \
190 --dest-dir=somedir
191
192 Extract the "sources" directory from the first image in "boot.wim" to
193 the current directory:
194
195 wimextract boot.wim 1 /sources
196
197 Extract multiple files and directories in one command:
198
199 wimextract boot.wim 1 /Windows/Fonts \
200 /sources /Windows/System32/cmd.exe
201
202 Extract many files to the current directory using a wildcard pattern:
203
204 wimextract install.wim 1 "/Windows/Fonts/*.ttf"
205
206 Extract files using a list file:
207
208 wimextract install.wim 1 @files.txt
209
210 ... where files.txt could be something like:
211
212 Windows\System32\*.*
213 Windows\System32\??-??\*.*
214 Windows\System32\en-US\*.*
215
217 wimlib-imagex(1) wimapply(1) wimdir(1) wiminfo(1)
218
219
220
221wimlib 1.13.5 December 2021 WIMEXTRACT(1)