Windowsバッチプログラミングでファイルの名前を読みたい。私はさまざまな方法を使って試していますが、失敗しました。Windowsバッチプログラミングでファイル名を読む
シナリオを以下に示します。
私はフォルダ内に異なるファイルを持っていますが、ファイル名の長さはすべてのファイルで同じです。 など。
1000342578_30062011.PDF
1000342329_30062011.PDF
そして私はちょうど_
後、変数で.PDF
(例えば30062011
)の部分前の部分を保存しておきたいです。
以下は試してみましたが、私は解決できません。 @Alex K.の回答に基づいて
@echo off
echo.Date : %date%
echo.Year : %date:~10,4%
dir /s /b C:\Users\zeeshando\Desktop\*.txt
for %%x in (c:\temp\*.xls) do echo %%x
lfnfor off
for %%x in (*.*) do echo %%x > filelist.txt
PAUSE
for %i in (C:\Users\zeeshando\Desktop) do
echo %~ni
PAUSE
UPDATE
私の現在のコード、:
@setlocal enabledelayedexpansion
for %%x in (C:\Hi\*.*) do (
set fn=%%x
set fn=!fn:~22,8!
echo !fn!
call:handler
)
goto:eof
:handler
echo !fn!
copy C:\Hi\*.* E:\!fn!
goto:eof
PAUSE
しかし、それはファイルをコピーされていません。上記のコードを確認してください。
VBScriptをご存知ですか?その文字列操作ライブラリは[使いやすい]です(http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#string) – bobobobo
あなたの質問を更新したい場合は**新しい情報を**追加してください** **投稿の内容全体を完全に置き換えないでください。 –