Если вы хотите обработать только текущую папку,
- удалите
-Recurse
- , используйте
-Path '.\*'
- , имейте в виду, что команда будетперезаписать все существующие
.txt
файлы
, а также .txt
файлы из других файлов с тем же BaseName.
Для преодоления этого вы можете Group-Object
файлы с тем же BaseName.
Я бы сохранил это как функцию в профиле, так что у вас всегда есть к нему доступ.
## Q:\Test\2019\03\03\SO_54968726.ps1
Function New-TextRef {
Get-ChildItem -Path '.\*' -File |
Where-Object Extension -Notin '.txt','.mkv','.avi','.mp4','.jpg','.png','.wav'|
Group-Object BaseName | ForEach-Object{
[System.IO.File]::WriteAllText(("{0}\{1}.txt" -f (Pwd).Path,$_.Name),($_.Group -join "`n"))
}
}
Однако, если вы назовете файл сценария .ps1
, вы также можете .dot получить его (загрузить в текущийсеанс).
После активации можно просто запустить функцию с именем New-TextRef
в текущей папке и получить созданные файлы .txt
.
Пример вывода:
> Get-ChildItem
Directory: Q:\Test\2019\03\03
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2019-03-03 22:30 377 netsh_wlan_show_profiles
-a---- 2019-03-04 00:31 343 SO_54968726.ps1
-a---- 2019-03-03 23:02 328 SO_54972848.ps1
-a---- 2019-03-03 22:32 216 SU_1410873.cmd
-a---- 2019-03-03 22:47 216 test.xml
-a---- 2019-03-03 23:02 194 testNew.xml
> . .\SO_54968726.ps1
> New-TextRef
> Get-ChildItem
Directory: Q:\Test\2019\03\03
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2019-03-03 22:30 377 netsh_wlan_show_profiles
-a---- 2019-03-04 00:36 43 netsh_wlan_show_profiles.txt
-a---- 2019-03-04 00:31 343 SO_54968726.ps1
-a---- 2019-03-04 00:36 34 SO_54968726.txt
-a---- 2019-03-03 23:02 328 SO_54972848.ps1
-a---- 2019-03-04 00:36 34 SO_54972848.txt
-a---- 2019-03-03 22:32 216 SU_1410873.cmd
-a---- 2019-03-04 00:36 33 SU_1410873.txt
-a---- 2019-03-04 00:36 27 test.txt
-a---- 2019-03-03 22:47 216 test.xml
-a---- 2019-03-04 00:36 30 testNew.txt
-a---- 2019-03-03 23:02 194 testNew.xml
> Select-String '^' *.txt
netsh_wlan_show_profiles.txt:1:Q:\Test\2019\03\03\netsh_wlan_show_profiles
SO_54968726.txt:1:Q:\Test\2019\03\03\SO_54968726.ps1
SO_54972848.txt:1:Q:\Test\2019\03\03\SO_54972848.ps1
SU_1410873.txt:1:Q:\Test\2019\03\03\SU_1410873.cmd
test.txt:1:Q:\Test\2019\03\03\test.xml
testNew.txt:1:Q:\Test\2019\03\03\testNew.xml