我正在构建一个包含多个文件夹的网站,这些文件夹需要PHP脚本和JavaScript才能正确组织文件。我需要将这两个文件放在一个目录和该文件夹中的所有子目录中。我试过这个命令
for /d %a in (c:\mp3filestructure) do copy /y c:\sortingscript\index.php %a\
- 删除代码外部的容器。我一直在从admin-cmd做这个,它只复制到一个文件夹!我迷路了...
答案 0 :(得分:1)
在powershell中,它看起来像这样:
$file1 = "PATH TO PHP SCRIPT"
$file2 = "PATH TO JAVASCRIPT"
foreach($directory in (get-childitem "PATH TO ROOT DIRECTORY YOU WANT TO COPY" -recurse| ?{$_.PSIsContainer}))
{
copy-item $file1,$file2 $directory
}
(get-childitem "PATH TO ROOT DIRECTORY YOU WANT TO COPY" -recurse | ?{$_.PSIsContainer})
行将获取您正在搜索的根目录下的所有目录。-recurse
开关表示要遍历整个目录。当我们说{$_.PSIsContainer}
时,我们只说返回目录而不是文件的对象。
示例:
$file1 = "C:\phpScript.txt"
$file2 = "C:\javaScript.txt"
foreach($directory in (get-childitem "C:\CopyToDirectory" -recurse | ?{$_.PSIsContainer}))
{
copy-item $file1,$file2 $directory
}
或者,如果您想在一行中执行此操作,它将如下所示:
get-childitem C:\CopyToDirectory -recurse | ?{$_.PSIsContainer} | %{copy-item C:\phpScript.txt,C:\javaScript.txt $_}
以下是使用的命令