嗨,我有dirs和subdirs文件,我想以这种格式保存文件
"file:///c:\\test\\subdir\\lastdir\\file.jpg","lastdir"
我坚持将\
替换为\\
到目前为止,我所做的是:
SETLOCAL ENABLEDELAYEDEXPANSION
@echo off
echo {
for /f "delims=" %%F in ('dir /s /b /a-d') do (
for %%I in ("%%~dpF.") do (
set a = "%%F"
echo !a!----------------------------this gives me echo disabled
echo "file:///"%%F","%%~nxI",
)
)
echo }
pause
我想使用
set a=%%F
set a=%a:\=/%
echo %a%
但是,即使使用!a!
答案 0 :(得分:1)
"file:///c:/test/subdir/lastdir","file.jpg"
是您要实现的目标吗?
@SetLocal EnableExtensions DisableDelayedExpansion
@( Echo {
For /F "Delims=" %%G In ('Dir /B/S/A-D 2^>NUL') Do @(
Set "_=%%~dpG"
SetLocal EnableDelayedExpansion
Set "_=!_:~,-1!"
Echo "file:///!_:\=/!","%%~nxG"
EndLocal
)
Echo }
) > "output.txt"
如果您确实希望输出奇怪的非文件URI类型"file:///c:\\test\\subdir\\lastdir\\file.jpg","lastdir"
,则:
@SetLocal EnableExtensions DisableDelayedExpansion
@( Echo {
For /F "Delims=" %%G In ('Dir /B/S/A-D 2^>NUL') Do @(
Set "_=%%~dpG"
SetLocal EnableDelayedExpansion
For %%H In ("!_:~,-1!") Do @Echo "file:///!_:\=\\!%%~nxG","%%~nxH"
EndLocal
)
Echo }
) > "output.txt"
output.txt
文件更改为所需的名称即可。 (如果您确实希望将其移至cmd.exe窗口,只需将"output.txt"
替换为CON
)