Как изменить размер файла через командную строку

How do I resize a file from the command prompt (or in a batch file)? It needs to treat the file as binary. The file format is irrelevant and arbitrary. Extending the file should pad it with zeros.

How do I resize a file from the command prompt (or in a batch file)?

  • It needs to treat the file as binary. The file format is irrelevant and arbitrary.

  • Extending the file should pad it with zeros.

  • Shrinking the file should truncate the file.

In other words:

How do you duplicate the functionality of SetEndOfFile in the command prompt?

Journeyman Geek's user avatar

asked Jun 19, 2011 at 19:10

user541686's user avatar

user541686user541686

23.4k43 gold badges135 silver badges210 bronze badges

1

I don’t believe the functionality exists natively in the DOS shell, I suspect you need to use another program to get the job done. Here are a few possibilities:

  1. There is a tool called Trunc which claims to do exactly what you are after:

Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.

You’ll have to try it out to find out exactly how the file is getting padded out (e.g. with zeros or garbage) but otherwise this seems to fit the bill of what you are asking for.

  1. fsutil is a Windows XP and above system tool that appears to have some functionality that might help. Specifically the fsutil file subcommand appears to be able to create, set length and also zero fill files.

Specifically:

fsutil file createnew "C:tempmyfile" 1024

Will create a zero filled 1024 byte file.

To change the size of an existing file:

fsutil file seteof filename length
  1. UVHD is a hex editor that appears to have the functions you are asking for. The only problem is that it only works under Windows/SFU (Services for Unix) and not DOS. What that actually means to an end user I don’t actually know, but I have a vague suspicion that SFU was dropped in Vista and Win 7.

answered Jun 20, 2011 at 12:20

Mokubai's user avatar

8

To set «SetEndOfFile in the command prompt»:

FSUTIL file seteof <filename> <truncated size>

To increase (existing)file size (padding nulls):

FSUTIL file seteof <filename> <new size>

answered Mar 18, 2021 at 9:12

Zimba's user avatar

ZimbaZimba

96310 silver badges14 bronze badges

1

copy /Y nul: file.txt

For setting to 0 bytes only, of course.

Dan Atkinson's user avatar

answered Dec 19, 2012 at 2:11

KipB7's user avatar

KipB7KipB7

751 silver badge1 bronze badge

2

If you have GnuWin32 installed, then you can use dd to do it.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

answered Feb 8, 2013 at 10:58

icando's user avatar

icandoicando

1711 silver badge5 bronze badges

1

How do I resize a file from the command prompt (or in a batch file)?

  • It needs to treat the file as binary. The file format is irrelevant and arbitrary.

  • Extending the file should pad it with zeros.

  • Shrinking the file should truncate the file.

In other words:

How do you duplicate the functionality of SetEndOfFile in the command prompt?

Journeyman Geek's user avatar

asked Jun 19, 2011 at 19:10

user541686's user avatar

user541686user541686

23.4k43 gold badges135 silver badges210 bronze badges

1

I don’t believe the functionality exists natively in the DOS shell, I suspect you need to use another program to get the job done. Here are a few possibilities:

  1. There is a tool called Trunc which claims to do exactly what you are after:

Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.

You’ll have to try it out to find out exactly how the file is getting padded out (e.g. with zeros or garbage) but otherwise this seems to fit the bill of what you are asking for.

  1. fsutil is a Windows XP and above system tool that appears to have some functionality that might help. Specifically the fsutil file subcommand appears to be able to create, set length and also zero fill files.

Specifically:

fsutil file createnew "C:tempmyfile" 1024

Will create a zero filled 1024 byte file.

To change the size of an existing file:

fsutil file seteof filename length
  1. UVHD is a hex editor that appears to have the functions you are asking for. The only problem is that it only works under Windows/SFU (Services for Unix) and not DOS. What that actually means to an end user I don’t actually know, but I have a vague suspicion that SFU was dropped in Vista and Win 7.

answered Jun 20, 2011 at 12:20

Mokubai's user avatar

8

To set «SetEndOfFile in the command prompt»:

FSUTIL file seteof <filename> <truncated size>

To increase (existing)file size (padding nulls):

FSUTIL file seteof <filename> <new size>

answered Mar 18, 2021 at 9:12

Zimba's user avatar

ZimbaZimba

96310 silver badges14 bronze badges

1

copy /Y nul: file.txt

For setting to 0 bytes only, of course.

Dan Atkinson's user avatar

answered Dec 19, 2012 at 2:11

KipB7's user avatar

KipB7KipB7

751 silver badge1 bronze badge

2

If you have GnuWin32 installed, then you can use dd to do it.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

answered Feb 8, 2013 at 10:58

icando's user avatar

icandoicando

1711 silver badge5 bronze badges

1

How do I resize a file from the command prompt (or in a batch file)?

  • It needs to treat the file as binary. The file format is irrelevant and arbitrary.

  • Extending the file should pad it with zeros.

  • Shrinking the file should truncate the file.

In other words:

How do you duplicate the functionality of SetEndOfFile in the command prompt?

Journeyman Geek's user avatar

asked Jun 19, 2011 at 19:10

user541686's user avatar

user541686user541686

23.4k43 gold badges135 silver badges210 bronze badges

1

I don’t believe the functionality exists natively in the DOS shell, I suspect you need to use another program to get the job done. Here are a few possibilities:

  1. There is a tool called Trunc which claims to do exactly what you are after:

Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.

You’ll have to try it out to find out exactly how the file is getting padded out (e.g. with zeros or garbage) but otherwise this seems to fit the bill of what you are asking for.

  1. fsutil is a Windows XP and above system tool that appears to have some functionality that might help. Specifically the fsutil file subcommand appears to be able to create, set length and also zero fill files.

Specifically:

fsutil file createnew "C:tempmyfile" 1024

Will create a zero filled 1024 byte file.

To change the size of an existing file:

fsutil file seteof filename length
  1. UVHD is a hex editor that appears to have the functions you are asking for. The only problem is that it only works under Windows/SFU (Services for Unix) and not DOS. What that actually means to an end user I don’t actually know, but I have a vague suspicion that SFU was dropped in Vista and Win 7.

answered Jun 20, 2011 at 12:20

Mokubai's user avatar

8

To set «SetEndOfFile in the command prompt»:

FSUTIL file seteof <filename> <truncated size>

To increase (existing)file size (padding nulls):

FSUTIL file seteof <filename> <new size>

answered Mar 18, 2021 at 9:12

Zimba's user avatar

ZimbaZimba

96310 silver badges14 bronze badges

1

copy /Y nul: file.txt

For setting to 0 bytes only, of course.

Dan Atkinson's user avatar

answered Dec 19, 2012 at 2:11

KipB7's user avatar

KipB7KipB7

751 silver badge1 bronze badge

2

If you have GnuWin32 installed, then you can use dd to do it.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

answered Feb 8, 2013 at 10:58

icando's user avatar

icandoicando

1711 silver badge5 bronze badges

1

How do I resize a file from the command prompt (or in a batch file)?

  • It needs to treat the file as binary. The file format is irrelevant and arbitrary.

  • Extending the file should pad it with zeros.

  • Shrinking the file should truncate the file.

In other words:

How do you duplicate the functionality of SetEndOfFile in the command prompt?

Journeyman Geek's user avatar

asked Jun 19, 2011 at 19:10

user541686's user avatar

user541686user541686

23.4k43 gold badges135 silver badges210 bronze badges

1

I don’t believe the functionality exists natively in the DOS shell, I suspect you need to use another program to get the job done. Here are a few possibilities:

  1. There is a tool called Trunc which claims to do exactly what you are after:

Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.

You’ll have to try it out to find out exactly how the file is getting padded out (e.g. with zeros or garbage) but otherwise this seems to fit the bill of what you are asking for.

  1. fsutil is a Windows XP and above system tool that appears to have some functionality that might help. Specifically the fsutil file subcommand appears to be able to create, set length and also zero fill files.

Specifically:

fsutil file createnew "C:tempmyfile" 1024

Will create a zero filled 1024 byte file.

To change the size of an existing file:

fsutil file seteof filename length
  1. UVHD is a hex editor that appears to have the functions you are asking for. The only problem is that it only works under Windows/SFU (Services for Unix) and not DOS. What that actually means to an end user I don’t actually know, but I have a vague suspicion that SFU was dropped in Vista and Win 7.

answered Jun 20, 2011 at 12:20

Mokubai's user avatar

8

To set «SetEndOfFile in the command prompt»:

FSUTIL file seteof <filename> <truncated size>

To increase (existing)file size (padding nulls):

FSUTIL file seteof <filename> <new size>

answered Mar 18, 2021 at 9:12

Zimba's user avatar

ZimbaZimba

96310 silver badges14 bronze badges

1

copy /Y nul: file.txt

For setting to 0 bytes only, of course.

Dan Atkinson's user avatar

answered Dec 19, 2012 at 2:11

KipB7's user avatar

KipB7KipB7

751 silver badge1 bronze badge

2

If you have GnuWin32 installed, then you can use dd to do it.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

answered Feb 8, 2013 at 10:58

icando's user avatar

icandoicando

1711 silver badge5 bronze badges

1

How do I resize a file from the command prompt (or in a batch file)?

  • It needs to treat the file as binary. The file format is irrelevant and arbitrary.

  • Extending the file should pad it with zeros.

  • Shrinking the file should truncate the file.

In other words:

How do you duplicate the functionality of SetEndOfFile in the command prompt?

Journeyman Geek's user avatar

asked Jun 19, 2011 at 19:10

user541686's user avatar

user541686user541686

23.4k43 gold badges135 silver badges210 bronze badges

1

I don’t believe the functionality exists natively in the DOS shell, I suspect you need to use another program to get the job done. Here are a few possibilities:

  1. There is a tool called Trunc which claims to do exactly what you are after:

Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.

You’ll have to try it out to find out exactly how the file is getting padded out (e.g. with zeros or garbage) but otherwise this seems to fit the bill of what you are asking for.

  1. fsutil is a Windows XP and above system tool that appears to have some functionality that might help. Specifically the fsutil file subcommand appears to be able to create, set length and also zero fill files.

Specifically:

fsutil file createnew "C:tempmyfile" 1024

Will create a zero filled 1024 byte file.

To change the size of an existing file:

fsutil file seteof filename length
  1. UVHD is a hex editor that appears to have the functions you are asking for. The only problem is that it only works under Windows/SFU (Services for Unix) and not DOS. What that actually means to an end user I don’t actually know, but I have a vague suspicion that SFU was dropped in Vista and Win 7.

answered Jun 20, 2011 at 12:20

Mokubai's user avatar

8

To set «SetEndOfFile in the command prompt»:

FSUTIL file seteof <filename> <truncated size>

To increase (existing)file size (padding nulls):

FSUTIL file seteof <filename> <new size>

answered Mar 18, 2021 at 9:12

Zimba's user avatar

ZimbaZimba

96310 silver badges14 bronze badges

1

copy /Y nul: file.txt

For setting to 0 bytes only, of course.

Dan Atkinson's user avatar

answered Dec 19, 2012 at 2:11

KipB7's user avatar

KipB7KipB7

751 silver badge1 bronze badge

2

If you have GnuWin32 installed, then you can use dd to do it.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

answered Feb 8, 2013 at 10:58

icando's user avatar

icandoicando

1711 silver badge5 bronze badges

1

Если у вас имеется огромный массив данных в виде папок, файлов или локальных дисков, то можно применить NTFS сжатие в Windows 10, чтобы немного появилось свободного место. Сжатие, которое предлагает Windows 10 по умолчанию, не работает как обычный архиватор и не придется все время разархивировать данные, чтобы получить к ним доступ. Windows 10 просто сожмет данные для уменьшения размера своими специальными алгоритмами, но доступ к этим сжатым данным будет простой, как обычно мы открываем папку.

Есть маленькие нюансы, но они касаются всех процессов по сжатию сторонними программами. Дело в том, когда операционная система сожмет ваши данные, то при доступе к этим данным, Windows 10 будет дополнительно давать минимальную нагрузку, так как данные распаковки поступают в оперативную память. Также, сжатие NTFS не работает при копировании по сети, и в других файловых системах, как FAT32, при сжатии локального диска (этого пункта просто не будет).

Если у вас на дисках HDD или SSD не хватает места, или у вас имеются локальные диски и папки с большим количеством файлов, то сжатие, которое предлагает Windows 10 по умолчанию, будет очень кстати, чтобы уменьшить размер данных и получить больше свободного места.

Как уменьшить размер файлов, папок и дисков в Windows 10

  1. Нажмите правой кнопкой мыши по файлу, папке или локальному диску, и выберите «Свойства«.
  2. Во вкладке «Общие» нажмите снизу на «Другие«.
  3. В новом коне установите галочку на «Сжимать содержимое для экономии места на диске«.
  4. Нажмите OK и «Применить», после чего появится дополнительное окно.
  5. Выберите применить к этой папке и ко всем вложенным файлам.

сжимать содержимое для экономии места на диске

Как сжимать данные в Windows 10 при помощи командной строки

Если вы гурман CMD, то можно при помощи команды compact, сжимать данные в Windows 10. Для этого, запустите командную строку от имени администратора и:

  • compact /c /s:"C:UsersmyWEBpcDesktopmyWEBpc" — Сожмет папку и все содержимое в ней.
  • compact /u /s:"C:UsersmyWEBpcDesktopmyWEBpc" —  Распакует папку и все содержимое в ней.

Если вам нужны дополнительные функции по сжатию, то наберите справку compact /?

Сжать файлы в Windows 10 при помощи CMD

Тест сжатия данных в Windows 10

Фото: Я сжал папку, которая занимала до сжатия 878 Мб, и в которой были только фотографии. После сжатия, занимаемый размер папки на диске стал 883, что сэкономило 5 Мб.

До сжатия NTFS и после

Файлы: Во втором тесте я сжимал папку игрового лаунчера от Rockstar, в которой находились в основном DLL и EXE файлы. До сжатия папка была 321 Мб, после сжатия она уменьшилась до 304 Мб, что сэкономило до 17 Мб.

До сжатия NTFS и после, тест

Вывод: Сжатие в Windows 10 очень полезно, если у вас именно данные в виде файлов и их очень много. К примеру, если локальный диск на 2 (TB) терабайта, то можно хорошо освободить на нем место при помощи сжатия.

Не рекомендую сжимать системный локальный диск, где установлена Windows 10. Если у Вас стоит SSD и не хватает на нем места, то воспользуетесь сжатием CompactOS.


Смотрите еще:

  • Очистка диска от ненужных файлов
  • Буфер обмена в Windows 10 — Как использовать и очистить историю
  • WinSxS — Что это за папка в Windows 10/7 и как ее очистить
  • Как перенести рабочий стол на другой диск в Windows 10 
  • Как создать и изменить размер раздела диска в Windows 10

[ Telegram | Поддержать ]

Как изменить размер файла из командной строки (или в пакетном файле)?

  • Он должен обрабатывать файл как двоичный файл. Формат файла не имеет значения и является произвольным.

  • Расширение файла должно дополнить его нулями.

  • Сжатие файла должно усечь файл.

Другими словами:

Как вы дублируете функциональность SetEndOfFile в командной строке?

изменён Journeyman Geek112k

Я не верю, что эта функциональность изначально присутствует в оболочке DOS, я подозреваю, что вам нужно использовать другую программу, чтобы выполнить работу. Вот несколько возможностей:

  1. Существует инструмент под названием Trunc, который утверждает, что делает именно то, что вам нужно:

    Trunc — это приложение командной строки Windows для усечения файлов до указанного размера. Также можно увеличить файл.

    Вам нужно будет попробовать это, чтобы выяснить, как именно файл дополняется (например, с нулями или мусором), но в противном случае это, кажется, соответствует требованиям того, о чем вы просите.

  2. fsutil — системный инструмент для Windows XP и выше, обладающий некоторыми функциональными возможностями, которые могут помочь. В частности, подкоманда fsutil file может создавать, устанавливать длину, а также заполнять файлы нулями.

    В частности:

    fsutil file createnew "C:tempmyfile" 1024

    Создает заполненный нулями файл размером 1024 байта, но я не вижу способа усечь файл. Существует команда, которая устанавливает допустимую длину данных, но она не изменяет маркер EOF следующим образом:

    Использование setvaliddata

    В NTFS существует два важных понятия длины файла: маркер конца файла (EOF) и допустимая длина данных (VDL). EOF указывает фактическую длину файла. VDL определяет длину допустимых данных на диске. Любые операции чтения между VDL и EOF автоматически возвращают 0, чтобы сохранить требование повторного использования объекта C2.

  3. UVHD — это шестнадцатеричный редактор, который, кажется, имеет функции, которые вы запрашиваете. Единственная проблема заключается в том, что он работает только под Windows/SFU (Services for Unix), а не под DOS. Что это на самом деле означает для конечного пользователя, я на самом деле не знаю, но у меня есть смутное подозрение, что SFU был отброшен в Vista и Win 7.

copy /Y nul: file.txt

Конечно, для установки только на 0 байтов.

Если у вас установлен GnuWin32, вы можете использовать dd для этого.

dd if=nul of=/the/file/to/truncate bs=1 count=0 seek=the_file_size oflag=append

Всё ещё ищете ответ? Посмотрите другие вопросы с метками windows command-line.

За последние несколько лет обмен графикой и фотографиями стал настолько популярен, что, я уверен, вы тоже, должно быть, делились и даже создавали некоторые из них. При работе с графическими файлами иногда приходится изменять их размеры. Таким образом, мы можем убедиться, что изображение поместится в том месте, где мы хотим его отобразить.

В Ubuntu есть множество инструментов, которые служат для этой цели, но зачем устанавливать сложные инструменты, если вас интересует только одна базовая процедура — изменение размера графики. Графические дизайнеры также сталкиваются с этой проблемой, но они хорошо оснащены инструментами, которые могут изменять размеры изображений, чтобы их можно было легко передать заинтересованным лицам.

В этой статье мы расскажем, как можно изменить размер графических файлов или фотографий через командную строку Ubuntu с помощью утилиты ImageMagick.

Содержание

  1. Почему именно командная строка?
  2. Изменение размера графического файла в командной строке Linux
  3. Установите ImageMagick
  4. Изменение размера изображения
  5. Определить формат изображения
  6. Удаление ImageMagick

Почему именно командная строка?

Если вы пользуетесь терминалом, вам не захочется покидать комфортную командную строку и переходить в другое место для выполнения повседневных технических действий. Всегда есть способ сделать почти все наши вещи прямо в Терминале. Так почему же с изменением размера gif должно быть по-другому! Использование Терминала делает некоторые задачи более эффективными и даже быстрыми. Инструменты командной строки не потребляют слишком много ресурсов и поэтому являются отличной альтернативой широко используемым графическим приложениям, особенно если у вас устаревшее оборудование.

Изменение размера графического файла в командной строке Linux

Установите ImageMagick

ImageMagick — это бесплатный пакет для редактирования изображений с открытым исходным кодом для просмотра, редактирования и преобразования графических файлов. ImageMagick может быть легко установлен из официальных репозиториев Ubuntu с помощью команды apt-get.

Откройте приложение Terminal либо через системный поиск Application Launcher, либо с помощью сочетания клавиш Ctrl+Alt+T. Выполнение следующей команды перед установкой программы через командную строку поможет вам установить последнюю доступную версию. Вы можете обновить индекс репозитория с помощью этой команды:

Затем выполните следующую команду от имени sudo, чтобы установить ImageMagick

sudo apt-get install imagemagick

Установка Imagemagick

Система может предложить вам ввести y/n для подтверждения установки. Пожалуйста, введите Y и нажмите Enter, после чего программа будет установлена на вашу систему.

Изменение размера изображения

Сейчас мы объясним, как можно изменить размер анимированного gif-изображения, указав новую ширину и высоту изображения в пикселях. Эту же процедуру можно использовать и для других графических файлов, таких как .png и .jpg.

Для этого важно знать размеры исходного gif-файла. Следующая команда поможет вам распечатать размеры файла изображения:

identify -format "%wx%h" imagefile

В этой статье я использую образец gif-файла с именем «sample.gif», чтобы объяснить изменение размеров gif-файла.

Чтобы узнать его точные размеры, я бы выполнил следующую команду:

identify -format "%wx%h" sample.gif

определить размер изображения

Для неанимированных изображений команда выдает одно значение размеров, но для gif-файлов результат будет примерно таким:

Определить формат изображения

Для вас важно первое значение размерности, выделенное выше. Это размер вашего исходного gif-изображения.

Теперь выполните следующий синтаксис команды, чтобы ваш оригинальный gif не был потерян:

 convert sample-image.gif -coalesce temporary-image.gif

Я также преобразую мой sample.gif во временный, используя следующую команду:

 convert sample.gif -coalesce temporary-image.gif

Использование команды convert для изменения размера изображения

Затем настало время преобразовать временный gif в конечное изображение с измененным размером с помощью следующего синтаксиса команды:

convert -size [orig-size of-input-gif] temporary-image.gif -resize [target-size] resized-image.gif

Я уменьшу размер моего gif с 800×600 пикселей до 400×300, преобразовав временное изображение в конечное «resized-image.gif».

 convert -size 800x600 temporary-image.gif -resize 400x300 resized-image.gif

изменить размер графического файла

Вы можете проверить изменение размера, повторно выполнив следующую команду на конечном изображении:

identify -format "%wx%h" resized-image.gif

Проверьте новый размер измененного изображения

Приведенный выше результат показывает успешное изменение размера моего gif.

Удаление ImageMagick

Хотя ImageMagick является очень полезной утилитой, вы можете удалить ее из вашей системы, выполнив следующую команду:

sudo apt-get remove imagemagick

Введите y, когда система предложит вам опцию y/n для удаления программного обеспечения. После этого ImageMagick будет удален из вашей системы.

Вот так вы можете легко изменить размер gif-изображения, не испортив его качество; и все это через командную строку Ubuntu.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить размер файла тифф
  • Как изменить размер файла презентации powerpoint
  • Как изменить размер файла подкачки ноутбука
  • Как изменить размер файла подкачки на виндовс 10
  • Как изменить размер файла подкачки компьютера для майнкрафт

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии