我想在Windows批量編程中讀取文件的名稱。我嘗試通過使用不同的方法,但失敗請幫助。在Windows批量編程中讀取文件名
情景已在下面給出。
我在一個文件夾中有不同的文件,但文件名的長度與所有文件相同。 例如
1000342578_30062011.PDF
1000342329_30062011.PDF
我只想_
之後和之前的變量.PDF
(例如30062011
)部分保存的部分。
下面只是嘗試,但我無法通過。
@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
我當前的代碼,基於@Alex K.的回答是:
@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
如果你想更新你的問題,請**添加**新信息,**不要完全替換**整個帖子的內容。 –