переименовать несколько файлов добавить номер к имени, используя пакет


0

У меня есть файлы в папке с именем unix_aaa.txt unix_bbb.txt unix_ccc.txtи так далее.

Как я могу изменить все файлы, которые начинаются с unixименами вроде

001_unix_aaa.txt

002_unix_bbb.txt

003_unix_ccc.txt

1
это партия или удар?
Anishsane


2
batch => windows, bash => linux. Ответ сценария полностью изменится .
Anishsane

аааа, это партия :)

Ответы:


1

Вот пакетный (Windows) скрипт, который сделает это

setlocal enabledelayedexpansion
set n=1
for %%a in (unix_*.txt) do (
if !n! lss 10 (
ren "%%a" "00!n!_%%a"
) else (
if !n! lss 100 (
ren "%%a" "0!n!_%%a"
) else (
if !n! geq 100 (
ren "%%a" "!n!_%%a"
)
)
)
set /a n+=1
)

могу ли я попросить, чтобы больше выходных данных получилось как 001 - 010, тогда это 010 вместо 011, как мне это исправить или нет никакого способа

1
Что вы имеете в виду? Я не следую :)
Бали C

: D означает, что от 001_unix_aaa.txt до 009_unix_aaa.txt, затем в 010 он выходит как 0010_unix_aaa.txt, это должно быть 010_unix_aaa.txt, я пытаюсь объяснить столько, сколько может мой английский> _ <

1
Ах да, теперь я вас понял: D Это уже должно было быть сделано, я проверил это так, чтобы оно выглядело как 001 010 100 и т. Д. Я проведу некоторое тестирование!
Бали C

эй, эй, я получил это сейчас спасибо, потому что я не напечатал все правильно, поэтому его ошибка спасибо: D: D: D: D: D

1

Это для раковин Борна.

n=1; for f in unix*
do
    mv "$f" "`printf %03d $n`_$f"
    n=$((n+1))
done

это не работает, я вставляю текстовый документ, затем меняю его .bat имя каждого файла должно быть одинаковым, но спасибо, я обнаружил проблему в том, что это printf в команде cmd

просто обычная командная строка, я не знаю много об этом, все, что я делал, это

@eathapeking что echo $0говорит?
kmkaplan

ничего не меняется :) вот пример имени файла unixinv_RSSPA_16Nov2012.csv

2
Из 1-го комментария, похоже, что это партия, а не Bash
Anishsane
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.