Board logo

标题: [问题求助] PowerShell如何将A中的txt文档删除第一行后在B中生成相同文件名的txt文档? [打印本页]

作者: seichinaren    时间: 2018-4-22 19:58     标题: PowerShell如何将A中的txt文档删除第一行后在B中生成相同文件名的txt文档?

A文件夹(路径D:\A)会不断生成不同文件名的txt文档,要求将每个生成的txt文档内容中的第一行删除之后,在B文件夹(路径F:\B)中生成相同文件名的txt文档

请问如何用powershell实现?

例如:


                        A文件夹                                                           B文件夹
                         123.txt        删除文档内容第一行后           生成123.txt
                         245.txt        删除文档内容第一行后           生成245.txt
                         abc.txt        删除文档内容第一行后           生成abc.txt
                         b32.txt        删除文档内容第一行后           生成b32.txt      
                           ....                          .... .... ....                                ....
                           ....                          .... .... ....                                ....
作者: pcl_test    时间: 2018-4-22 20:45

本帖最后由 pcl_test 于 2018-4-26 07:26 编辑
  1. $srcfd='D:\A\';
  2. $desfd='D:\B\';
  3. if(-not (test-path -LiteralPath $desfd)){[void](md $desfd)}
  4. dir -LiteralPath $srcfd *.txt|%{
  5.     $txt=gc -LiteralPath $_.FullName;
  6.     $txt=($txt[1..($txt[$txt.length-1)]) -join "`r`n";
  7.     out-file -InputObject $txt -FilePath ($desfd.TrimEnd('\')+'\'+$_.Name) -Encoding  Default
  8. }
复制代码

作者: seichinaren    时间: 2018-4-25 22:08

回复 2# pcl_test


感谢回复!
试用了一下,发现A文档内容中如果每一行是个位整数,可以实现此功能,但是如果A文档每一行的数超过10或者既有数字又有字母的情况下,就不可以。
希望大神不吝赐教!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2