如何将文本文件内容写入文件名?

时间:2014-10-10 08:52:13

标签: windows powershell text cmd notepad

我有100个空文本文件,我需要使它们的内容等于它们的文件名。 有一个简单的方法吗?

由于

3 个答案:

答案 0 :(得分:2)

@echo off
    setlocal enableextensions disabledelayedexpansion 
    for %%a in (*.txt) do if %%~za equ 0 >"%%~fa" echo(%%~nxa

对于每个txt文件,如果其大小为0,则将文件的名称和扩展名作为其内容写入

要从命令行使用,请忽略百分号

for %a in (*.txt) do if %~za equ 0 >"%~fa" echo(%~nxa

答案 1 :(得分:1)

我不知道这是否是您正在寻找的,但您可以使用" forfiles"命令:

forfiles /M *.txt /C "cmd /c if @fsize equ 0 echo @file > @file"

例如:a.txt将包含" a.txt"。

<强>更新

更新为仅采用大小为零的文本文件(空)。

答案 2 :(得分:1)

由于PowerShell被标记在此...

Get-ChildItem -Path E:\temp\folder | Where-Object{ $_.Length -eq 0} | ForEach-Object{Set-Content -Path $_ -Value $_.Name}

获取目录E:\temp\folder中长度为零(不包含任何数据)的所有文件。将每个文件的内容设置为文件名。