PDA

Показать полную графическую версию : [решено] помогите использовать переменую type в путь для открытие файла


123123_123123
11-05-2023, 11:53
:txt
cls
echo Введите имя файла
set txt=tag.txt"
type "%txt%"
pause > nul
start С:\PC\Desktop\%stxt%"\123\tag.txt
pause > nul
pause > nul

-- Код содержимое файла выводит на екран но не вставляется в путь
-- С:\PC\Desktop\tag.txt - [Содержимое файла]
-- С:\PC\Desktop\123\tag.txt - [Служит для открытие файла]
-- Мне нужно чтоб содержимое файла вставлялось в путь "G:\PC\Desktop\...\123\tag.txt"

NickM
11-05-2023, 12:11
Что-то типа такого?
@echo off
setlocal enableextensions enabledelayedexpansion
set txt="%~dp0tag.txt"
for /F "tokens=* delims=" %%i in ('type %txt%') do echo.start "c:\PC\Desktop\%%i\123\tag.txt"

123123_123123
11-05-2023, 13:06
не рабоатет

путь показывало но нужен еще чтоб блокнот открылся


CMD
С:\PC\Desktop>setlocal enableextensions enabledelayedexpansion

С:\PC\Desktop>set txt="С:\PC\Desktop\tag.txt"

С:\PC\Desktop>for /F "tokens=* delims=" %i in ('type "С:\PC\Desktop\tag.txt"') do echo.start "С:\PC\Desktop\%i\123\tag.txt"

С:\PC\Desktop>echo.start "G:\PC\Desktop\123\123\tag.txt"
start "C:\PC\Desktop\123\123\tag.txt"

С:\PC\Desktop>pause 1>nul

NickM
11-05-2023, 13:25
не рабоатет »
Не работает что?

чтоб блокнот открылся »
@echo off
setlocal enableextensions enabledelayedexpansion
set txt="%~dp0tag.txt"
for /F "tokens=* delims=" %%i in ('type %txt%') do notepad "c:\PC\Desktop\%%i\123\tag.txt"

123123_123123
11-05-2023, 13:30
Заработало, а как сделать не сколько переменых в одном пути

NickM
11-05-2023, 14:18
а как сделать »
Поясните, что Вы имеете ввиду?

123123_123123
11-05-2023, 14:48
@echo off
setlocal enableextensions enabledelayedexpansion
set txt="%~dp0tag.txt"
set txt="%~dp0qwe.txt"
for /F "tokens=* delims=" %%i in ('type %txt%') %%i in ('type %qwe%')do notepad "c:\PC\Desktop\%%i\%%i\tag.txt"

-- Код содержимое файла выводит на екран но не вставляется в путь
-- С:\PC\Desktop\tag.txt - [Содержимое файла[1] ]
-- С:\PC\Desktop\qwe.txt - [Содержимое файла[2] ]
-- С:\PC\Desktop\123\tag.txt - [Служит для открытие файла]
-- Мне нужно чтоб содержимое файла вставлялось в путь "С:\PC\Desktop\...\...\tag.txt"
-- for /F "tokens=* delims=" %%i in ('type %txt%') do start /b "" "С:\PC\Desktop\%%i\....\tag.txt"

чтоб показывало содеражание в пути с разных файлов

С:\PC\Desktop\[Содержимое файла[1] ]\[Содержимое файла[2] ]\tag.txt"

NickM
11-05-2023, 14:51
Вы бы задачу подробнее описали, чего хотите достичь?
Пока похоже на то, что Вы просто городите огород.

А, что если в след раз уже надо будет три файла, а не один и не два?

Например:
@echo off
setlocal enableextensions enabledelayedexpansion
set txt1="%~dp0tag.txt"
set txt2="%~dp0qwe.txt"
for /F "tokens=* delims=" %%i in ('type %txt1%') do (
for /F "tokens=* delims=" %%j in ('type %txt2%') do notepad "c:\PC\Desktop\%%i\%%j\tag.txt"
)

123123_123123
11-05-2023, 15:53
а как строку добавить для 3 файла?
setlocal enableextensions enabledelayedexpansion
set txt1="%~dp0tag.txt"
set txt2="%~dp0qwe.txt"
set txt3="%~dp0qwet.txt"

for /F "tokens=* delims=" %%i in ('type %txt1%') do (
for /F "tokens=* delims=" %%b in ('type %txt2%') do
for /F "tokens=* delims=" %%j in ('type %txt3%') do start /b "" "G:\PC\%%b\%%i\%%j\tag.txt"
)


или не так?
Это последняя просьба)

NickM
12-05-2023, 06:31
а как строку добавить для 3 файла? »
А, что если в след раз уже надо будет три файла, а не один и не два? »

@echo off
setlocal enableextensions enabledelayedexpansion
set f1="%~dp0file1.txt"
set f2="%~dp0file2.txt"
set f3="%~dp0file3.txt"
for /F "tokens=* delims=" %%i in ('type %f1%') do (
for /F "tokens=* delims=" %%j in ('type %f2%') do (
for /F "tokens=* delims=" %%k in ('type %f3%') do echo."C:\PC\%%i\%%j\%%k\tag.txt"
)
)

"C:\PC\1\2\3\tag.txt"
"C:\PC\1\2\33\tag.txt"
"C:\PC\1\22\3\tag.txt"
"C:\PC\1\22\33\tag.txt"
"C:\PC\11\2\3\tag.txt"
"C:\PC\11\2\33\tag.txt"
"C:\PC\11\22\3\tag.txt"
"C:\PC\11\22\33\tag.txt"

file1.txt
1
11

file2.txt
2
22

file3.txt
3
33

123123_123123
13-05-2023, 10:04
Спасибо вам огромное




© OSzone.net 2001-2012