2016-06-30 49 views
1

CD、音楽、ムービーなどを頻繁に焼き付けます。ほとんどのファイルがそれぞれのファイル名の先頭にいくつかの番号を付けています。 ( "01.FILE_1、02.FILE_2" ...)バッチファイルを使用して、最初のx量の文字(この場合は3)を削除できるようにしたいので、 "05.FILE_5" 「FILE_5」に変更します。このスレッドではバッチスクリプトを使用してファイル名の先頭に 'x'文字を取り除く

.bat rename files name remove first x characters and last x characters

@echo off 
setlocal enabledelayedexpansion 
set X=3 
set FOLDER_PATH=. 
pushd %FOLDER_PATH% 
for %%f in (*) do if %%f neq %~nx0 (
    set "filename=%%~nf" 
    set "filename=!filename:~%X%,-%X%!" 
    ren "%%f" "!filename!%%~xf" 
) 
popd 

私は、最初と最後の文字を削除する手順について説明したが、私はちょうど最初の文字のコードを変更する方法を見つけ出すことはできません。

おかげさまで助けてくれてありがとうございます。

+0

ようこそ詳細についてはthisを参照してください!あなたはこれまでに試したことを示すなら、はるかに楽しくなります。あなたがリンクした例では、 'for'の中の' set'部分で遊んだことがありますか? – malarres

+0

ええ、私は主にセット部分の2行目で遊んだ。誰かが元のスレッドで最後の文字だけを削除する方法を尋ねたので、私はその男が返答したものとは正反対のことをしました。 (実際には反対ではなく、他の部分と一緒に遊んでいます。)いいえ、私はバッチ構文に慣れていないので、かなり推測して確認しました。 –

+0

ファイル名( 'set" filename =!filename:*。=! "')の最初の '.'まですべてを分割するのはどうですか?またはあなたは常に正確に3文字を削除する必要がありますか? – aschipfl

答えて

1

あなたはこのようエイタンTで答えを変更する必要があります。

@echo off 
setlocal enabledelayedexpansion 
set X=3 
set FOLDER_PATH=. 
pushd %FOLDER_PATH% 
for %%f in (*) do if %%f neq %~nx0 (
    set "filename=%%~nf" 
    set "filename=!filename:~%X%!" 
    ren "%%f" "!filename!%%~xf" 
) 
popd 

のStackOverflowに変数のサブストリングについて

+0

ありがとうございました!私が探していたもの –

関連する問題