Мой путь указывает на облачную папку (расположенную в разных местах на разных устройствах), в которой я сохранил командный файл, который должен найти себя на компьютере, а затем сделать этот каталог новым рабочим каталогом этого сеанса.
Расположение файла
@echo off
Нет беспорядка
cls
чистого листа
Echo Searching
потому что иногда это занимает некоторое время
dir /b /s myScripts.bat
И это выводит полный каталог, включая имя файла.
Поэтому моя первая проблема - избавиться от имени файла. Вот что я попробовал:
set stringOne=dir /b /s myScripts.bat
%stringOne:~0, 60%
Я нашел скрипт для подсчета длины строки, который я буду использовать для автоматического вывода этих значений позже, если окажется, что они мне действительно нужны.
Проблема в том, что я обнаружил, что если я уменьшу это число до 10, команда dir будет сокращена примерно так:
dir c:\users\myUsername\cloudDrive\scripts
, или что бы то ни было, и вместо этого cmd вводит dir c:\users\m
и ищет ВСЕ из этого рекурсивно.
Опять же, я хотел бы, чтобы он показывал мне измененную версию каталога, в котором он искал, а НЕ изменял команду поиска в каталоге. Позже я буду использовать последнюю строку, созданную для установки моего рабочего каталога, но я пытаюсь сделать это по одному шагу за раз, чтобы понять, что происходит.
РЕДАКТИРОВАТЬ: конечная цель сценария отличается от моей цели его написания. Когда все будет сказано и сделано, я смогу набрать myScripts.bat в cmd, на любом компьютере, к которому я добавлю, это PATH, моя облачная папка, и он получит каталог этой облачной папки с помощью команды dir, и затем измените его рабочий каталог на каталог командного файла.