我有100个空文本文件,我需要使它们的内容等于它们的文件名。 有一个简单的方法吗?
由于
答案 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
中长度为零(不包含任何数据)的所有文件。将每个文件的内容设置为文件名。