在目标目录的每个子目录中创建CSV文件

时间:2016-08-26 06:55:24

标签: powershell powershell-v2.0 powershell-v3.0 powershell-v4.0

我的文件夹如下:

D:\TESzz\Background\BG_Flash-Zootopia-HD-Desktop-Wallpapers.jpg
D:\TESzz\Background\BG_NimmHBD.jpg
D:\TESzz\Background\BG_Note5.jpg
D:\TESzz\Icons\150x150.jpg
D:\TESzz\Icons\Bathroom-gender-sign.png
D:\TESzz\Icons\brocoli.png
D:\TESzz\Icons\Carrot_Clipart_PNG_Image.png
D:\TESzz\Icons\File.txt
D:\TESzz\Icons\garlic.png
D:\TESzz\Icons\ICONS.txt
D:\TESzz\Icons\NoppNimm-1.jpg
D:\TESzz\Icons\NoppNimmIcon.jpg
D:\TESzz\Icons\NoppNimmIcon.png
D:\TESzz\Icons\NoppProfie.jpg
D:\TESzz\Icons\NoppProfileSerious.jpg
D:\TESzz\Icons\pork.png
D:\TESzz\Icons\Profile.jpg
D:\TESzz\Icons\Questionmark.png
D:\TESzz\Icons\sugar.png
D:\TESzz\Icons\Tree.png
D:\TESzz\Icons\wheel.png

我想将文件列表导出到" D:\ TeSzz"下的每个子文件夹。如下

D:\TESzz\Icons\Icons.csv
D:\TESzz\Background\Background.csv

我的代码如下。但它会创建" FileList.csv"而不是" Icons.csv"或" Background.csv"。 :(

Get-ChildItem -path "D:\TESzz\" -directory | ForEach-Object {Get-ChildItem -file "$($_.fullname)" | Export-Csv "$(Join-path $_.fullname 'FileList.csv')"}

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

我会为当前目录引入一个变量。您没有得到预期的结果,因为您始终将输出命名为FileList.csv

Get-ChildItem -path "D:\TESzz\" -directory | 
  ForEach-Object {
    $directory = $_
    Get-ChildItem -file $directory.FullName | 
        Export-Csv (Join-path $directory.FullName "$($directory.BaseName).csv") -Force
}

在上文中,请注意您FileList的位置,现在是$($directory.BaseName),因此每个目录都不同。

答案 1 :(得分:0)

您可以将父目录名放在变量中,然后使用它来形成输出文件名:

demo.$inject = ['$scope'];

  demo.directive("boxCreator", function($compile){
      return{
          restrict: 'A',
          link: function(scope , element){
              element.bind("click", function(e) {

                  var childNode = $compile('<div ng-drop="true"> <span class="title">Drop area #2</span> <div ng-repeat="obj in droppedObjects2" ng-drag="true" ng-drag-data="obj" ng-drag-success="onDragSuccess2($data,$event)" ng-center-anchor="{{centerAnchor}}"> {{obj.name}}</div></div>')(scope)
                  element.parent().append(childNode);
              });
          }
      }
  });

在这里,我们使用<%= link_to_add_association 'Item toevoegen', f, :products,:"data-association-insertion-node" => "tbody#{id of tbody encapsulating your fields_for}",:"data-association-insertion-method" => "append", class: 'btn btn-primary btn-success' %> 来创建导出路径。