Windows XP NTFS格式的文件路径,带有批处理/ F命令

时间:2014-06-08 20:52:30

标签: windows batch-file windows-xp

我试图弄清楚我是否认识到阅读帮助和支持中心是否有足够的问题。

有些信息没有以合理的方式链接在一起。

阅读Type命令,我可以识别出在我的硬盘上使用NTFS格式,我必须使用带双空格的路径和文件名。

我将首先显示一个没有引号的批处理代码然后使用,因为使用for / F命令,这种情况下双引号与echo命令和类型命令都不匹配。

@echo off
rem @
rem @
rem @

for /F %%A in (Textdokument.txt) do set Datei=%%A

rem @
rem @

echo %Datei%

rem @
rem @

echo.

rem @
rem @

set Datei=

rem @
rem @

pause

正常工作。

带双引号的相同示例只返回一个未找到文件的消息。

for /F %%A in ("Dokumente und Einstellungen"\Benutzername\Desktop^\"Neuer Ordner"\Textdokument.txt) do set Datei=%%A

为收集更合理的文件内容建立一个简单的基础会导致这个问题与我读过的所有信息有关。为了进一步搜索,我很幸运能得到答案。

祝福

2 个答案:

答案 0 :(得分:1)

for /f %%a in (someFileName) ...会将someFileName视为要读取的文件名,为文件中的每一行执行do子句中的代码。

for /f %%a in ("some file name") ....会将"some file name"视为要处理的中间字符串,仅对此字符串执行do子句中的代码。

for /f "usebackq" %%a in ("some file name") ...会将"some file name"视为要读取的文件名,为文件中的每一行执行do子句中的代码。

并且,引号应该包含完整路径,因此您的代码应该是

for /F "usebackq" %%A in (
    "Dokumente und Einstellungen\Benutzername\Desktop\Neuer Ordner\Textdokument.txt"
) do set Datei=%%A

答案 1 :(得分:0)

使用完整路径尝试使用此功能,开始时只有",最后只有type并使用for /F %%A in (type "c:\Dokumente und Einstellungen\Benutzername\Desktop\Neuer Ordner\Textdokument.txt") do set Datei=%%A

{{1}}