tuo codice "per/f "tokens = * delims =" %% x in (a.txt) do echo %% x" funzionerà sulla maggior parte di Windows Sistemi operativi a meno che non siano stati modificati i comandi.
Quindi è possibile "cd" nella directory da cui leggere prima di eseguire il comando "for/f" per seguire la stringa. Ad esempio, se il file "a.txt" si trova in C: \ documenti e impostazioni \% USERNAME% \ desktop \ a.txt, devi utilizzare quanto segue.
cd "C:\documents and settings\%USERNAME%\desktop"
for /f "tokens=* delims=" %%x in (a.txt) do echo %%x
echo.
echo.
echo.
pause >nul
exit
Ma dal momento che questo non funziona sul computer per x motivo, esiste un modo più semplice ed efficiente per farlo. Utilizzando il comando "tipo".
@echo off
color a
cls
cd "C:\documents and settings\%USERNAME%\desktop"
type a.txt
echo.
echo.
pause >nul
exit
Oppure, se si desidera che selezionino il file da cui scrivere nel batch, è possibile effettuare le seguenti operazioni.
@echo off
:A
color a
cls
echo Choose the file that you want to read.
echo.
echo.
tree
echo.
echo.
echo.
set file=
set /p file=File:
cls
echo Reading from %file%
echo.
type %file%
echo.
echo.
echo.
set re=
set /p re=Y/N?:
if %re%==Y goto :A
if %re%==y goto :A
exit
Il codice risolve il problema, è necessario testarlo di nuovo – jeb
La sceneggiatura funziona per me. – aphoria
No. Non fornisce l'output desiderato. È una linea di rottura con il carattere di spazio – Tjs