Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 使用带有通配符的list.txt作为引用复制项目_Powershell_File_Wildcard_Copy Item - Fatal编程技术网

Powershell 使用带有通配符的list.txt作为引用复制项目

Powershell 使用带有通配符的list.txt作为引用复制项目,powershell,file,wildcard,copy-item,Powershell,File,Wildcard,Copy Item,我有一个包含数百万个文件的文件夹,我想使用PowerShell从一个带有通配符的txt文件中移动文件,该通配符用于查找文件名的内容 我使用了下面粘贴的脚本,它只适用于文本文件中的第一行 例如: 我想找到filename1,它会复制包含filename1的所有文件 但是如果我在.txt文件中添加更多的通配符 *filename1* *filename2* *filename3* 您正在循环中更改变量$source。对于更改的源路径,您的代码在第一次迭代后找不到任何其他要复制的文件,因为没有路径类似

我有一个包含数百万个文件的文件夹,我想使用PowerShell从一个带有通配符的txt文件中移动文件,该通配符用于查找文件名的内容

我使用了下面粘贴的脚本,它只适用于文本文件中的第一行

例如:

我想找到filename1,它会复制包含filename1的所有文件

但是如果我在.txt文件中添加更多的通配符

*filename1* *filename2* *filename3*
您正在循环中更改变量
$source
。对于更改的源路径,您的代码在第一次迭代后找不到任何其他要复制的文件,因为没有路径类似的文件

c:\temp\source\*filename1*\*filename2* c:\temp\source\*filename1*\*filename2*\*filename3* ... 进入这个

foreach ($file in $file_list) {
    Copy-Item "$source\$file" $destination
}

问题将消失。

您正在更改循环中的变量
$source
。对于更改的源路径,您的代码在第一次迭代后找不到任何其他要复制的文件,因为没有路径类似的文件

c:\temp\source\*filename1*\*filename2* c:\temp\source\*filename1*\*filename2*\*filename3* ... 进入这个

foreach ($file in $file_list) {
    Copy-Item "$source\$file" $destination
}
问题就会消失。

当你说“文件包含”。。。你是指文件名还是文件内容?当你说“文件包含”。。。你是指文件名还是文件内容?