web-dev-qa-db-ja.com

DOSでファイルの拡張子なしで最初の数文字を取得します

私のファイルはAAAAAAA-01.pdf、BBBBBB-02.pdf、CCCCCCC-03.pdfです。以下のコマンドを使用して、拡張子なしでフォルダー内のファイル名のExcelリストを生成できました。

for %%i in (*.pdf) do @echo %%~ni >> C:\LIST.xls

ファイルの最初の7文字を取得するにはどうすればよいですか? AAAAAA、BBBBBBB、CCCCCCC、.。の出力リストが欲しい.

私の2番目の質問は、DASHの前にこれらの文字のみを取得するにはどうすればよいですか?たとえば、私のファイルはABCD-01.pdf、A-03.pdf、AB-00.pdf、...出力をABCD、A、AB、..にします。

私はこれを見つけました set first7=%%I:~0,7%しかし、それを機能させる方法がわかりません。

よろしくお願いします

3
Chaunghian
@echo off
setlocal enabledelayedexpansion
if exist List.xls del List.xls
for %%a in (*.pdf) do (
    set fn=%%~na
    set fn=!fn:~0,7!
    for /f "tokens=1 delims=-" %%f in ('echo !fn!') do echo %%f>>List.xls
)

これにより、各ファイル名の最初の7文字が印刷されます。ただし、ハイフンが存在する場合は、ハイフンの前の文字のみがさらに切り捨てられて印刷されます。

1
Karan

ファイルの最初の7文字を取得するにはどうすればよいですか?

AAAAAA、BBBBBBB、CCCCCCC、.。の出力リストが欲しい.

次のバッチファイルを使用します(ファイル名の最初の7文字を抽出します)。

test.cmd:

@echo off
@Setlocal EnableDelayedExpansion
for %%i in (*.pdf) do (
  set _name=%%~ni
  echo !_name:~0,7!>> c:\list.xls
  )

出力例:

C:\test>dir *.pdf
 Volume in drive C has no label.
 Volume Serial Number is C8D0-DF1E

 Directory of C:\test

19/06/2015  17:56                 0 AAAAAAA-01.pdf
19/06/2015  17:56                 0 BBBBBBB-02.pdf
19/06/2015  17:57                 0 CCCCCCC-03.pdf
               3 File(s)              0 bytes
               0 Dir(s)  92,871,524,352 bytes free

C:\test>test

C:\test>type c:\list.xls
AAAAAAA
BBBBBBB
CCCCCCC

C:\test>

DASHの前にそれらの文字だけを取得するにはどうすればよいですか?

たとえば、私のファイルはABCD-01.pdf、A-03.pdf、AB-00.pdf、...出力をABCD、A、AB、..にします。

次のバッチファイルを使用します(-の前のすべての文字を抽出します)

test.cmd:

@echo off
for /f "usebackq tokens=1 delims=-" %%i in (`dir /b *.pdf`) do echo %%i>> c:\list.xls

出力例:

C:\test>dir *.pdf
 Volume in drive C has no label.
 Volume Serial Number is C8D0-DF1E

 Directory of C:\test

19/06/2015  18:13                 0 A-03.pdf
19/06/2015  17:56                 0 AAAAAAA-01.pdf
19/06/2015  18:14                 0 AB-00.pdf
19/06/2015  18:13                 0 ABCD-01.pdf
19/06/2015  17:56                 0 BBBBBBB-02.pdf
19/06/2015  17:57                 0 CCCCCCC-03.pdf
               6 File(s)              0 bytes
               0 Dir(s)  92,870,991,872 bytes free

C:\test>test

C:\test>type c:\list.xls
A
AAAAAAA
AB
ABCD
BBBBBBB
CCCCCCC

C:\test>

参考文献

2
DavidPostill