Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用批处理删除文件的最后n个字符_Windows_Powershell_Batch File_File Io_Batch Processing - Fatal编程技术网

Windows 使用批处理删除文件的最后n个字符

Windows 使用批处理删除文件的最后n个字符,windows,powershell,batch-file,file-io,batch-processing,Windows,Powershell,Batch File,File Io,Batch Processing,我在一个文件夹中有大约500个文件。我正在尝试将4KB数据(存储为文件)连接到所有文件 对(*)中的/r%i使用批处理“”,键入4KB file.txt>>%i 现在我想让它们恢复到原始状态。几乎没有14GB左右的文件。在尝试读取时,打开要花费很多时间 请告诉我如何将它们恢复到原始状态。首先,此任务的难度取决于附加到文件中的实际字符串 Get-ChildItem [your path here] | ForEach-Object { $TempVar = Get-Content $_ | Sel

我在一个文件夹中有大约500个文件。我正在尝试将4KB数据(存储为文件)连接到所有文件 对(*)中的/r%i使用批处理“
”,键入4KB file.txt>>%i

现在我想让它们恢复到原始状态。几乎没有14GB左右的文件。在尝试读取时,打开要花费很多时间


请告诉我如何将它们恢复到原始状态。

首先,此任务的难度取决于附加到文件中的实际字符串

Get-ChildItem [your path here] | ForEach-Object {
$TempVar = Get-Content $_ | Select-string -Exclude "Something that uniquely matches the string you want to remove"
$TempVar | Set-Content $_ }
或者:

Get-ChildItem [your path here] | ForEach-Object {
$Length = ($_.ToCharArray) - 4096 #As you have 4KB, exactly?
$Newfile = ($_.ToCharArray() | Select -first $Length) -join ""
$NewFile | Set-content $_ 

}

这两种尝试都可能被认为是有害的,因为这可能会影响编码、文件结构等-我只是没有足够的时间来检查。如果文件很重要,最好备份它们。

您能举一些例子说明这些文件的内容和您希望删除的内容吗?或者说明现在的情况以及您希望删除的内容吗ee作为结果。其中大多数是二进制文件。4KB的文件是一个文本文件,我想添加它们以测试每添加4KB的上传速度。这可以是我们的任何愿望。只需在连接4KB数据之前备份不同文件夹中的所有文件,然后删除原始文件夹,并在要恢复到orig时重命名备份文件夹最终状态。