Знайти та замінити спеціальні символи


0

Як я можу замінити цей символ (_) цим (:) у списку імен файлів? Імена файлів є такими: 1_0_1_1AE1_7F6_2_11A0000_0_0_0.png Проблема з програмами заміни символів полягає в тому, що символ: - є незаконним для імен файлів, тому вони повертають помилки.

Будь-які ідеї про те, як обійти це?


4
Укажіть операційну систему, з якою ви працюєте.
terdon

Ти хочеш насправді перейменувати файли або отримати текстовий список і замінити символи в текстовому редакторі або щось?
That Brazilian Guy

Відповіді:


1

Ось як ви пишете сценарій, але, як ви згадуєте в ОП, ви все ще маєте питання: бути незаконним. І ІМО неможливо обійти це в Windows, не можна використовувати нелегальні символи!

@echo off
echo Enter Filename
set /p name=
set newName=%name:_=:%
ren %name% %newNname%

Це в межах циклу

@echo off
setlocal enabledelayedexpansion
for /f "delims=;" %%name in ('dir /b FOLDERNAME') do (
set newName=%%name
set newName=!newName:_=:!
ren %%name !newName!
)

Потрібно додати setlocal enabledelayedexpansion і змінити %newName% до !newName! в for версія циклу:
Bali C

1
Просто перемістіть setlocal над лінією for і зміни %newName:_=:% до !newName:_=:! і ваш хороший поїхати :) Однак, я не знаю, якщо це дозволить двокрапкою в імена файлів? Принаймні на вікнах.
Bali C

ах людина .. Я просто спробував - миттєвий провал! Завдяки @BaliC
Dave

% variable - Вказує a одна буква змінний параметр, так що %% ім'я насправді неправильне (це може працювати, оскільки його обрізають до однієї літери, але це є неправильно).
Karan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.